DocumentFragment: replaceChildren() 方法

Baseline 已广泛支持

此功能已得到充分验证,并且可在多种设备和浏览器版本上使用。自 ⁨2020 年 10 月⁩ 起,所有浏览器均已支持此功能。

DocumentFragment.replaceChildren() 方法使用指定的新子节点集替换 DocumentFragment 中现有的子节点。这些子节点可以是字符串或 Node 对象。

语法

js
replaceChildren(param1)
replaceChildren(param1, param2)
replaceChildren(param1, param2, /* …, */ paramN)

参数

param1, …, paramN

一组 Node 对象或字符串,用于替换 DocumentFragment 中现有的子节点。如果未指定任何替换对象,则 DocumentFragment 将清空所有子节点。

返回值

无(undefined)。

异常

HierarchyRequestError DOMException

当违反 节点树的约束 时抛出。

示例

清空文档片段

replaceChildren() 提供了一种非常方便的机制来清空文档片段中的所有子节点。你可以在文档片段上调用它,而不指定任何参数。

js
let fragment = new DocumentFragment();
let div = document.createElement("div");
let p = document.createElement("p");
fragment.append(p);
fragment.prepend(div);

fragment.children; // HTMLCollection [<div>, <p>]

fragment.replaceChildren();

fragment.children; // HTMLCollection []

规范

规范
DOM
# ref-for-dom-parentnode-replacechildren①

浏览器兼容性

另见