javascript - 一道原生JS的问题
本文介绍了javascript - 一道原生JS的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
<div>
<input/>
<span></span>
</div>
function nodeToFragme(node){
var flag = document.createDocumentFragment();
var child;
while(child = node.firstChild ){
flag.appendChild(child); //请问为什么能够每次插入不同的节点?
}
return flag ;
}
为什么每次appendChild都能够插入不同的节点?不应该每次都是第一个节点么?
解决方案
appendChild 成功后,会把节点从原来的节点位置移除;
当进入 while 循环的下次执行 (child=node.firstChild) 时, 这里面运算的 firstChild 已经变成了原先移除的下一个节点;
直到 node 中再也没有节点时,(child=node.firstChild) 的返回值会为「false」,这时循环就结束了,appendChild 也完成了。
附注:
https://developer.mozilla.org...
这篇关于javascript - 一道原生JS的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文