关于node2Fragment函数中的节点遍历
AricZhu opened this issue · 4 comments
AricZhu commented
源代码如下:
node2Fragment: function (el) { var fragment = document.createDocumentFragment(), child; // 将原生节点拷贝到fragment while (child = el.firstChild) { fragment.appendChild(child); } }
上面代码中,el每次循环将第一个子节点赋值给child时,el不需要删除对应的子节点吗?
notbucai commented
节点只能有一个父亲
AricZhu commented
我理解的是这个循环是将el节点下面的所有子节点拷贝到fragment节点下面
但是while(child=el.firstChild){ ... }这个循环不会导致死循环吗?
notbucai commented
不会 这不算拷贝,而是挪过去了
AricZhu commented
嗯嗯,我明白了。刚试了下还真是这样的。谢谢啦