javascript – jQuery追加DOM

jQuery.append()的所有示例似乎都采用了一个html字符串并将其附加到容器中.我的用例略有不同.我的服务器返回一个包含要显示的HTML文本的XML,如:

<event source="foo">
    <contents>
        <h1>This is an event</h1>
        This is the body of the event
    </contents>
</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:DOM异常4.调试器将值显示为DOM Element对象,将$(value)显示为包含Element的Object.

任何帮助将不胜感激.

谢谢.
-Raj

您不能将属于一个DOM树的节点附加到另一个文档.

尝试clone他们:

$("#eventDiv").append( jData.find("contents").children().clone() );

或者只是使用他们的文本表示来重新创建它们:

$("#eventDiv").append( jData.find("contents").html() );
相关文章
相关标签/搜索