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