我在一些代码示例中注意到克隆 DOM 节点并将其附加到现有元素的看似不同的方法:
element.appendChild(something.cloneNode(true));
element.appendChild(document.importNode(something, true));
两者都有复制节点的效果。第二个版本似乎更冗长,并暗示该副本实际上首先是具体的某个地方,尽管它仍然需要找到一个合适的归宿。然而,它被 MDN 和其他一些人用作使用template
标签的说明。在其他地方,他们选择更简单的clodeNode
选择。
问题是:使用importNode
over 有什么好处cloneNode
?