文本片段如何理解
来源:2-2 create系列创建节点的方法
写额外飞1
2018-04-23 10:11:23
这两种写法都可以创建三个li,那createDocumentFragment 还有什么用? window.onload=function(){ var ul=document.getElementById("myList"); var li=null; for(var i=0;i<3;i++){ li=document.createElement("li"); li.appendChild(document.createTextNode("item"+(i+1))); ul.appendChild(li); } }
window.onload=function(){
var fragment=document.createDocumentFragment();
var ul=document.getElementById("myList");
var li=null;
for(var i=0;i<3;i++){
li=document.createElement("li");
li.appendChild(document.createTextNode("item"+(i+1)));
fragment.appendChild(li);
}
ul.appendChild(li);
}
1回答
最后一句应该是ul.appendChild(fragment);
由于代码的灵活性,实现一种效果的方法不是唯一的。所以你选择哪种方式都是可以的。
createDocumentFragment()方法,是创建一个虚拟的节点对象,或者是用来创建文档碎片节点。
把所有的新节点附加其上,然后把文档碎片的内容一次性添加到document中,可以节约使用DOM。
(通过createDocumentFragment创建的元素插入到文档中的是他的子元素)
相似问题