DocumentFragments

Posted wlgz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DocumentFragments相关的知识,希望对你有一定的参考价值。

var fragment = document.createDocumentFragment();

  引用mdn的描述:fragment是一个空文档对象DocumentFragment对象的引用。

 

  常用在保存生成的dom节点上:

循环生成节点并插入dom中
    var box = document.getElementById("box");
for(var i=0; i<10; i++) { var div = document.createElement("div"); box.appendChild(div); }

  上面这种写法每次生成的dom节点再插入dom中,都会引起页面的重排,耗费性能。

 

  下面用DocumentFragments改进:

    var box = document.getElementById("box"),
          fragment = document.createDocumentFragment();
    
    for(var i=0; i<10; i++) {
       var div = document.createElement("div");
       fragment.appendChild(div);          
    }

    box.appendChild(fragment);

  

  因为生成fragment(文档片段)存在于内存中,并不在Dom树中,所以将子元素插入到文档片段时不会引起页面重排。

  documentFragment被所有主流浏览器支持

以上是关于DocumentFragments的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器