向文档中添加列表项

DocumentFragment类型
所有节点类型中,只有documentfragment在文档中没有对应标记,故而可以把其作为一个仓库来使用。
创建文档片段的方法如下

      var fragment = document.createDocumentFragment();

文档片段继承了Node的所有方法。可以通过appendChild()和insertBefore()将文档片段内容添加到文档中。
注意:在将文档片段作为参数传递给这两个函数时,实际上只是把文档片段中的子节点添加到相应位置,文档片段本身永远不会成为文档的一部分。
使用场景:当我们需要向文档中添加一定数量的列表项时,如果逐个添加,会导致浏览器反复渲染新信息。为了避免这个问题,可以先通过文档片段来保存列表项,然后一次性全部添加到文档中。
例:

var fragment = document.createDocumentFragment();
        var ul = document.getElementById("aqi-list");
        var li = null;
        for(var n = 0; n < pollute_city.length; n++){
          li = document.createElement("li");
          li.appendChild(document.createTextNode("第" + (n+1) + "名: " +pollute_city[n][0] + ", " + pollute_city[n][1]));
          fragment.appendChild(li);
        } 
        ul.appendChild(fragment);

当我们将fragment传值给appendChild()以后,所有列表项便添加到ul片段中去,同时,文档片段的所有子节点便都被删除了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值