Introduction
JavaScript is the language for the web, especially for its ability to manipulate the Document Object Model (DOM) that guides how things are rendered within a browser. Everything on the webpage is an element and serves as the base upon which all elements objects inherit, and for HTML elements specific, the HTMLElement interface suffice.
These elements have properties and methods, and one such methods is the replaceWith method. The replaceWith method allows us to replace the element it’s called upon in the children list of its parent with a set of Node or String objects (or equivalent Text node).
In this article, we will discuss how to use JavaScript replaceWith method and uses it for DOM manipulation.
Using JavaScript replacewith method to manipulate DOM
With a typical syntax structure as below, the replacewith method allows us to replace elements by directly referencing the child nodes where Element is the element/node to be replaced and the Node is the element/node that will replace the element/node.
Element.replacewith(Node);
Element.replacewith(Node1, Node2);
Also, you can replace it with multiple elements/nodes.
To illustrate how JavaScript replacewith method, we will display paragraph text and change the text using the method. All the HTML and JS will be written together using the script tag.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<h1>JavaScript replacewith</h1>
<div id="demo">
<p>This text will be replaced by a button click event</p>
</div>
<button id="btn">Change Text with replacewith</button>
<script>
document.getElementById("btn").onclick = function () {
const pTag = document.querySelector("#demo p");
const newNode = document.createElement("input");
newNode.value =
"Replacement text replaced by the button click event";
pTag.replaceWith(newNode);
};
</script>
</body>
</html>
Output

After we click the button to trigger the replacewith method, we have the below image.

In the HTML code, we added the demo and btn id (identifier) to the div and button elements to make the JavaScript code know which element to work with.
However, in the JavaScript code, we find and reference the paragraph tag by using the querySelector method and bind it to pTag binding. Afterward, we can create a new element (newNode) that will replace the referenced element and bind a value to it. Finally, we make use of the replacewith method on pTag (the referenced value) and newNode (the new node).
Also, we can add multiple nodes by adding new elements or nodes to the arguments of the replacewith method. To do such, we can replace the code with the replacewith method expression below. We can also create new elements too.
pTag.replaceWith(newNode, "added node text");
Output

Summary
To make use of the JavaScript replacewith method, we need to reference the element/node that we want changed and add the new element/node as an argument. Also, we can add multiple nodes or elements via the replacewith method.
References
Element - Web APIs | MDN (mozilla.org)
Element.replaceWith() - Web APIs | MDN (mozilla.org)

