Element: replaceWith() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
The Element.replaceWith() method replaces this
Element in the children list of its parent with a set of
Node objects or strings. Strings are inserted as equivalent Text nodes.
Syntax
js
replaceWith(param1)
replaceWith(param1, param2)
replaceWith(param1, param2, /* …, */ paramN)
Parameters
param1, …,paramN-
A set of
Nodeobjects or strings to replace.
Return value
None (undefined).
Exceptions
HierarchyRequestErrorDOMException-
Thrown when the node cannot be inserted at the specified point in the hierarchy.
Examples
>Using 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() is unscopable
The replaceWith() method is not scoped into the with
statement. See Symbol.unscopables for more information.
js
with (node) {
replaceWith("foo");
}
// ReferenceError: replaceWith is not defined
Specifications
| Specification |
|---|
| DOM> # ref-for-dom-childnode-replacewith①> |
Browser compatibility
Loading…