【发布时间】:2013-10-09 19:42:26
【问题描述】:
我一直在研究在 Backbone.js 应用程序中使用 documentFragments,并想知道为什么我看到在将 documentFragment 附加到父 DOM 元素时使用“cloneNode”的示例。
可以看到一个例子here。如果您低头查看 DocumentFragment 部分,您会看到:
oFrag = document.createDocumentFragment();
for (var i = 0, imax = aElms.length; i < imax; i++) {
oFrag.appendChild(aElms[i]);
}
o.innerHTML = '';
o.appendChild(oFrag.cloneNode(true));
为什么“oFrag”会被克隆而不是仅仅附加它?另一个blog post 不使用“cloneNode”(作为比较)。
【问题讨论】:
-
+1,确实很有趣。我唯一(而且非常疯狂)的猜测是
cloneNode的使用使我们能够更好地控制oFrag范围。 -
我认为这不应该被伪造成一个完整的答案,但无论如何......只需寻找'documentFragment cloneNode',我就找到了John Resig 的this post。 ) 在这篇文章的主题中,应该将一堆节点插入到 DOM 中几次次,因此克隆 documentFragment 确实是一个更好的选择。
标签: javascript dom backbone.js documentfragment