元素:replaceWith() 方法

**Element.replaceWith()** 方法用一组 Node 对象或字符串替换其父元素子节点列表中的此 Element。字符串将作为等效的 Text 节点插入。

语法

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

参数

param1,…,paramN

一组要替换的 Node 对象或字符串。

返回值

无 (undefined).

异常

HierarchyRequestError DOMException

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

示例

使用 replaceWith()

js
const div = document.createElement("div");
const p = document.createElement("p");
div.appendChild(p);
const span = document.createElement("span");

p.replaceWith(span);

console.log(div.outerHTML);
// "<div><span></span></div>"

replaceWith() 是无范围的

replaceWith() 方法不受 with 语句的范围限制。有关更多信息,请参阅 Symbol.unscopables

js
with (node) {
  replaceWith("foo");
}
// ReferenceError: replaceWith is not defined

规范

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

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅