HTML DOM Document createDocumentFragment() 方法
定义和用法
createDocumentFragment() 方法创建 offscreen 节点。
offscreen 节点可用于构建可插入任何文档的新文档片段。
createDocumentFragment() 方法还可用于提取文档的部分内容、更改、添加或删除某些内容,并将其插回文档中。
提示
您始终可以直接编辑 HTML 元素。但更好的方法是构建(offscreen)文档片段,并在准备好时将此片段追加到真实(活动)的 DOM。因为您是在准备好片段后插入片段,所以将只需一次重排和一次渲染。
如果您想在循环中追加 HTML 元素项,使用文档片段也可以提高性能。
注意:被追加到文档片段的文档节点将从原始文档中删除。
实例
例子 1
将元素添加到空列表:
const fruits = ["Banana", "Orange", "Mango"];
// 创建文档片段:
const dFrag = document.createDocumentFragment();
// 将 li 元素添加到片段中:
for (let x in fruits) {
const li = document.createElement('li');
li.textContent = fruits[x];
dFrag.appendChild(li);
}
// 将片段添加到列表中:
document.getElementById('myList').appendChild(dFrag);
例子 2
将元素添加到现有列表:
const fruits = ["Banana", "Orange", "Mango"];
// 创建文档片段:
const dFrag = document.createDocumentFragment();
// 将 li 元素添加到片段中:
for (let x in fruits) {
const li = document.createElement('li');
li.textContent = fruits[x];
dFrag.appendChild(li);
}
// 将片段添加到列表中:
document.getElementById('myList').appendChild(dFrag);
语法
document.createDocumentFragment()
参数
无。
返回值
| 类型 | 描述 |
|---|---|
| 节点 | 新创建的 DocumentFragment 节点,无子节点。 |
浏览器支持
document.createComment() 是 DOM Level 1 (1998) 特性。
所有浏览器都支持它:
| Chrome | IE | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| Chrome | IE | Edge | Firefox | Safari | Opera |
| 支持 | 9-11 | 支持 | 支持 | 支持 | 支持 |