files/en-us/web/api/element/replacewith/index.md
{{APIRef("DOM")}}
The Element.replaceWith() method replaces this
Element in the children list of its parent with a set of
{{domxref("Node")}} objects or strings. Strings are inserted as equivalent {{domxref("Text")}} nodes.
replaceWith(param1)
replaceWith(param1, param2)
replaceWith(param1, param2, /* …, */ paramN)
param1, …, paramN
None ({{jsxref("undefined")}}).
HierarchyRequestError {{DOMxRef("DOMException")}}
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 unscopableThe replaceWith() method is not scoped into the with
statement. See {{jsxref("Symbol.unscopables")}} for more information.
with (node) {
replaceWith("foo");
}
// ReferenceError: replaceWith is not defined
{{Specifications}}
{{Compat}}