JavaScript:cloneNode vs importNode

时间:2017-04-02 11:03:09

标签: javascript dom clonenode

我在一些代码示例中注意到克隆DOM节点并将其附加到现有元素的看似不同的方法:

element.appendChild(something.cloneNode(true));
element.appendChild(document.importNode(something, true));

两者都具有复制节点的效果。第二个版本似乎更冗长,并暗示副本实际上是某个具体的第一个,虽然它仍然需要找到一个合适的家。但是,MDN和其他一些使用它作为使用template标记的说明。在其他地方,他们选择更简单的clodeNode选项。

问题是:使用importNode而不是cloneNode有什么好处?

1 个答案:

答案 0 :(得分:3)

在DOM3及更早版本中,importNode用于从其他文档复制节点,cloneNode用于在同一文档中复制。但是浏览器并没有强制执行,因此在最新的DOM standard中,cloneNode可用于从其他文档进行复制。在其他环境中使用DOM时,请坚持使用DOM3规则。

相关问题