Javascript jQuery附加DOM

Javascript jQuery附加DOM,javascript,jquery,dom,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&

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

<event source="foo">
    <contents>
        <h1>This is an event</h1>
        This is the body of the event
    </contents>
</event>
append()调用失败,Chrome上出现未捕获错误:错误的文档错误:DOM异常4。调试器将value显示为DOM元素对象,将$(value)显示为包含该元素的对象

任何帮助都将不胜感激

谢谢。
-Raj

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

试着告诉他们:

或者简单地使用它们的文本表示来重新创建它们:

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

谢谢克隆人()似乎让我向前迈进。尽管如此,调用html()仍会导致错误:$(child).clone().html():TypeError:无法调用未定义的方法'replace'。实际上,我使用的是contents().clone(),它还包括文本节点。@raj:The
.html()
失败,因为您正在处理一个XML文档,而且jQuery并不是100%适合在所有情况下处理XML,我更进一步。我现在面临的问题是一个新问题。谢谢你的帮助,托马拉克!我在尝试将一个文档中的一些DOM节点附加到iframe时遇到了这个问题。clone()解决了问题,但不适用于IE6/IE7。尝试了html(),这适用于所有浏览器。
$("#eventDiv").append( jData.find("contents").children().clone() );
$("#eventDiv").append( jData.find("contents").html() );