Jquery 如何附加DOMnode?
此附加过程工作正常:Jquery 如何附加DOMnode?,jquery,Jquery,此附加过程工作正常: document.getElementById('x').appendChild(document.importNode(node,true)) 但是当我尝试jQuery风格时,$('#x').append($(node))或$('#x').append(node)不起作用 编辑:很抱歉,我在复杂的上下文中使用DOMnodes,当使用一个简单的简短示例时,它使用的是$('#x')。append(node)。。。请参阅我的Wiki答案。因为您正在使用document.im
document.getElementById('x').appendChild(document.importNode(node,true))
但是当我尝试jQuery风格时,$('#x').append($(node))
或$('#x').append(node)
不起作用
编辑:很抱歉,我在复杂的上下文中使用DOMnodes,当使用一个简单的简短示例时,它使用的是
$('#x')。append(node)
。。。请参阅我的Wiki答案。因为您正在使用document.importNode从另一个文档导入节点。在jquery中,必须使用.contents()
或
假设法线节点和段落节点:
<div id="x"><p>...</p></div>
<p id="p1">Standard paragraph1</p>
<p id="p2">.. paragraph2, lost?</p>
<template id="t">
<p>Templated node0!</p>
<p>Other...</p>
</template>
结论
将std_节点
表示为“标准DOMnode”(如示例第1段),并将tpl_节点
表示为
标记:
:“副作用”删除节点$('#x')。追加(标准节点)
它不是“追加”而是“移动节点”
:工作正常$('#x')。追加(tpl_节点)
:删除节点的“副作用”相同$('#x')。追加($(节点))
:工作正常$('#x')。追加($(tpl_节点))
:工作正常$('#x').append($(node.clone())
$(“#x”)
哦,对不起,编辑过了!谢谢@Rahul,你能在JSfiddle上演示一下吗<代码>内容()对我不起作用。。。请参见中的示例
$('#x').append($(node).contents().html());
<div id="x"><p>...</p></div>
<p id="p1">Standard paragraph1</p>
<p id="p2">.. paragraph2, lost?</p>
<template id="t">
<p>Templated node0!</p>
<p>Other...</p>
</template>