Dado un documento HTML y la tarea es reemplazar un elemento HTML por otro elemento. Por ejemplo: podemos cambiar un elemento <b> con el elemento <h1> sin cambiar ninguna otra propiedad.
Acercarse:
- Seleccione el elemento HTML que debe cambiarse.
- Copie todos los atributos del elemento anterior en un objeto.
- Reemplazar el elemento anterior por el nuevo elemento.
Ejemplo 1: Este ejemplo ilustra el enfoque anterior.
html
<!DOCTYPE HTML> <html> <head> <title> JQuery | Change an element type. </title> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> </script> </head> <body style = "text-align:center;"> <h1 style = "color:green;" > GeeksforGeeks </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 GeeksforGeeks </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>
Producción:
- Antes de hacer clic en el botón:
- Después de hacer clic en el botón:
Ejemplo 2: este ejemplo utiliza el enfoque discutido anteriormente pero con una forma diferente de copiar atributos.
html
<!DOCTYPE HTML> <html> <head> <title> JQuery | Change an element type. </title> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> </script> </head> <body id = "body" style = "text-align:center;"> <h1 style = "color:green;" > GeeksforGeeks </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 GeeksforGeeks </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>
Producción:
- Antes de hacer clic en el botón:
- Después de hacer clic en el botón:
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA