CharacterData:replaceWith() 方法

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有浏览器中可用。

CharacterData 接口的 replaceWith() 方法用一组 Node 对象或字符串替换此节点在其父节点的子节点列表中的位置。

字符串会被插入为 Text 节点;该字符串被当作参数传递给 Text() 构造函数。

语法

js
replaceWith(...nodes)

参数

nodes 可选

将替换当前节点的 Node 对象或字符串的逗号分隔列表。

注意: 如果不传递任何参数,此方法将从 DOM 树中移除该节点。

返回值

无(undefined)。

异常

HierarchyRequestError DOMException

在节点无法插入到层次结构中的指定位置时抛出。

示例

html
<p id="myText">Some text</p>
js
let text = document.getElementById("myText").firstChild;
let em = document.createElement("em");
em.textContent = "Italic text";

text.replaceWith(em); // Replace `Some text` by `Italic text`

规范

规范
DOM
# ref-for-dom-childnode-replacewith①

浏览器兼容性

另见