jQuery追加DOM
jQuery.append()的所有示例似乎都采用了一个html字符串并将其附加到容器中。 我的用例略有不同。 我的服务器返回一个包含要显示的HTML文本的XML,如:
This is an event
This is the body of the event
我有一个div,需要显示这些内容。
我的JS目前执行以下操作:
-
在$ .ajax()成功处理程序中将XML数据加载到jQuery中:
var jData = $(data);
-
找到内容标记并尝试将其子项添加到应该显示事件的div:
var contents = jData.find( "contents" ); if( contents != null ) { $( contents ).children().each( function( index, value ) { $( "#eventDiv" ).append( $( value ) ); }); }
append()调用失败并显示Uncaught Error: Chrome上的WRONG_DOCUMENT_ERR:DOMexception4 。 调试器将值显示为DOM Element对象,将$(value)显示为包含Element的Object 。
任何帮助将不胜感激。
谢谢。 -Raj
您不能将属于一个DOM树的节点附加到另一个文档。
尝试克隆它们:
$("#eventDiv").append( jData.find("contents").children().clone() );
或者只是使用他们的文本表示来重新创建它们:
$("#eventDiv").append( jData.find("contents").html() );