码迷,mamicode.com
首页 > 其他好文 > 详细

DocumentFragment

时间:2021-01-22 11:53:15      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:color   rgb   min   inter   带来   插入   几何   删除   速度   

创建一个新的空白的文档片段( DocumentFragment)。

 

描述

DocumentFragments 是DOM节点。它们不是主DOM树的一部分。通常的用例是创建文档片段,将元素附加到文档片段,然后将文档片段附加到DOM树。在DOM树中,文档片段被其所有的子元素所代替。

因为文档片段存在于内存中,并不在DOM树中,所以将子元素插入到文档片段时不会引起页面回流(对元素位置和几何上的计算)。因此,使用文档片段通常会带来更好的性能。

let fragment = document.createDocumentFragment();

 

 DocumentFragment(文档片段)可以看作节点容器,它可以包含多个子节点,当我们将它插入到 DOM 中时,只有它的子节点会插入目标节点,所以把它看作一组节点的容器。使用 DocumentFragment 处理节点,速度和性能远远优于直接操作 DOM。Vue 进行编译时,就是将挂载目标的所有子节点劫持(真的是劫持,通过 append 方法,DOM 中的节点会被自动删除)到 DocumentFragment 中,经过一番处理后,再将 DocumentFragment 整体返回插入挂载目标。

示例

<ul id="ul">
</ul>
var element  = document.getElementById(ul); // assuming ul exists
var fragment = document.createDocumentFragment();
var browsers = [Firefox, Chrome, Opera,
    Safari, Internet Explorer];

browsers.forEach(function(browser) {
    var li = document.createElement(li);
    li.textContent = browser;
    fragment.appendChild(li);
});

element.appendChild(fragment);

 

Firefox
Chrome
Opera
Safari
Internet Explorer

 

DocumentFragment

标签:color   rgb   min   inter   带来   插入   几何   删除   速度   

原文地址:https://www.cnblogs.com/caijinghong/p/14308321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!