¿Cómo cambiar el nombre de un elemento HTML usando jQuery?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *