项目概况

createDocumentFragment

2026-01-291 min read未分类
javascript

!!!tip 核心本质: createDocumentFragment 将 dom 操作批量进行操作 !!!

如下代码片段,循环往 document 里面添加元素

text
1let element = document.getElementById('ul'); 2let eles = document.getElementByIds('li'); 3for (var i = eles.length - 1; i >= 0; i--) { 4 element.appendChild(eles[i]); 5}

先创建一个 Fragment 片段,js 在内存中先把对象创建好,然后一次往 document 中进行插入。

text
1let element = document.getElementById('ul'); 2 3let fragment = document.createDocumentFragment(); 4let browsers = ['Firefox', 'Chrome', 'Opera', 5 'Safari', 'Internet Explorer']; 6 7browsers.forEach((browser) => { 8 let li = document.createElement('li'); 9 li.textContent = browser; 10 // 此处往文档片段插入子节点,不会引起回流 (相当于打包操作) 11 fragment.appendChild(li); 12}); 13element.appendChild(fragment); // 将打包好的文档片段插入ul节点,只做了一次操作