Open In App

How to replace an HTML element with another one using JavaScript ?

Document Object Model (DOM) is a platform and language-neutral interface which is used by programs and scripts to dynamically access the content, style and structure. Please refer to DOM (Document Object Model) to know the details. We can implement this by using DOM’s createElement(), createTextNode(), appendChild(), replaceChild() methods and childNodes property.

Let us discuss these methods and property to replace one HTML element to another.



The following shows the working code on how to use these methods and property discussed above.




<!DOCTYPE html>
<html>
  
<body>
    <h2>
        Using DOM'S to print Hello World 
    </h2>
      
    <script>
        var h = document.createElement("h3");
  
        var txt = document
            .createTextNode("Hello World!!");
          
        h.appendChild(txt);
          
        document.body.appendChild(h);
    </script>
</body>
  
</html>

Output:

childNodes[Position]: This property returns a collection of child nodes as a NodeList object. The nodes are sorted as they appear in source code and can be accessed by index number starting from 0.

replaceChild(): It replace a child node with new node.

old_Node.replaceChild(new_Node, old_node.childNodes[node_position]);

Example: The following code shows how to replace element with another one.




<!DOCTYPE html>
<html>
  
<body>
    <div id="p1">
        <p id="red">Hello World </p>
  
        <!-- We are going to replace Hello World!! 
            in "p" tag with "Hello Geeks" in "h2" 
            tag-->
        <button onclick="repFun()">
            Click Me
        </button>
    </div>
  
    <p id="demo"></p>
      
    <script>
        function repFun() {
  
            // Creating "h2" element
            var H = document.createElement("h2");
  
            // Retaining id  
            H.setAttribute("id", "red");
  
            // Creating Text node        
            var txt = document.createTextNode("Hello Geeks!!");
  
            // Accessing  the Element we want to replace 
            var repNode = document.getElementById("p1");
              
            // Appending Text Node in Element  
            H.appendChild(txt);
  
            // Replacing one element with another
            p1.replaceChild(H, p1.childNodes[0]);
        }
    </script>
</body>
  
</html>

Output:


Article Tags :