How to change an HTML element name using jQuery ?

Given an HTML document and the task is to replace an HTML element by another element. For example: we can change an element <b> with <h1> element without changing any other property.
Approach:
- Select the HTML element which need to be change.
- Copy all attributes of previous element in an object.
- Replace the previous element by new element.
Example 1: This example illustrates the above approach.
html
<!DOCTYPE HTML> <html> <head> <title> JQuery | Change an element type. </title> <script src= </script></head> <body style = "text-align:center;"> <h1 style = "color:green;" > zambiatek </h1> <p id = "GFG_UP" style = "font-size: 15px; font-weight: bold;"> </p> <button onclick = "GFG_Fun()"> click here </button> <br><br> <b style = "color:green; font-weight: bold;"> Welcome to zambiatek </b> <script> var up = document.getElementById('GFG_UP'); up.innerHTML = "Click on the button to " + "replace an HTML element"; function GFG_Fun() { var attribute = { }; $.each($("b")[0].attributes, function(id, atr) { attribute[atr.nodeName] = atr.nodeValue; }); $("b").replaceWith(function () { return $("<h1 />", attribute).append($(this).contents()); }); } </script> </body> </html> |
Output:
- Before clicking on the button:
- After clicking on the button:
Example 2: This example using the above discussed approach but with a different way to copy attributes.
html
<!DOCTYPE HTML> <html> <head> <title> JQuery | Change an element type. </title> <script src= </script></head> <body id = "body" style = "text-align:center;"> <h1 style = "color:green;" > zambiatek </h1> <p id = "GFG_UP" style = "font-size: 15px; font-weight: bold;"> </p> <button onclick = "GFG_Fun()"> click here </button> <br><br> <b style = "color:green; font-weight: bold;"> Welcome to zambiatek </b> <script> var up = document.getElementById('GFG_UP'); up.innerHTML = "Click on the button to " + "replace an HTML element"; function GFG_Fun() { var oldElement = $("b"); var newElement = $("<h1>"); for(var i=0; i<oldElement[0].attributes.length; i++) { var Attr = oldElement[0].attributes[i].nodeName; var AttrVal = oldElement[0].attributes[i].nodeValue; newElement.attr(Attr, AttrVal); } newElement.html(oldElement.html()); oldElement.replaceWith(newElement); } </script> </body> </html> |
Output:
- Before clicking on the button:
- After clicking on the button:
Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, zambiatek Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!




