跳转到主要内容

Element: replaceWith() method

{{APIRef("DOM")}}

The replaceWith() method of the {{domxref("Element")}}Element interface replaces this Element in the children list of its parent with a set of {{domxref("Node")}}Node objects or strings. Strings are inserted as equivalent {{domxref("Text")}}Text nodes. Nothing happens if {{domxref("Node.parentNode", "parentNode")}}parentNode is null.

Syntax

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

Parameters

  • param1, …, paramN
    • : A set of {{domxref("Node")}}Node objects or strings to insert.

Return value

None ({{jsxref("undefined")}}undefined).

Exceptions

  • HierarchyRequestError {{DOMxRef("DOMException")}}DOMException
    • : Thrown when the node cannot be inserted at the specified point in the hierarchy.

Examples

Using replaceWith()

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() is unscopable

The replaceWith() method is not scoped into the with statement. See {{jsxref("Symbol.unscopables")}}unscopables for more information.

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

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also