最近看到这样一段代码:letfragment=document.createDocumentFragment();letfirstChild;while(firstChild=el.firstChild){fragment.appendChild(firstChild);}returnfragment;代码中如果把fragment.appendChild(firstChild)注释掉,则会进入死循环,如果在while语句中去打印el.firstChild,则发现每次循环都在递进DOM节点,直到最后为空。请问这是什么原理呢?有没有这方面的资料文章呢?
2 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
fragment.appendChild()具有移动性相当于把el中节点移动过去letfragment=document.createDocumentFragment();letfirstChild;while(firstChild=el.firstChild){fragment.appendChild(firstChild);}console.log(el.firstChild);//你打印一个这个就明白了returnfragment;
添加回答
举报
0/150
提交
取消