¿Cómo reemplazar un elemento HTML con otro usando JavaScript?

Document Object Model (DOM) es una interfaz de plataforma e idioma neutral que utilizan los programas y scripts para acceder dinámicamente al contenido, el estilo y la estructura. Consulte DOM (Modelo de objeto de documento) para conocer los detalles. Podemos implementar esto usando los métodos createElement() , createTextNode() , appendChild() , replaceChild() y la propiedad childNodes de DOM .

Analicemos estos métodos y propiedades para reemplazar un elemento HTML por otro.

  • createElement(): Se utiliza para crear un Node de elemento con el nombre especificado.
    Sintaxis:
    var element = document.createElement("Element_name"); 
    

    En este ejemplo, el elemento es la etiqueta «h1», así que escribe

     var element=document.createElement("h1");
  • createTextNode(): El método se utiliza para crear un Node de texto.
    Sintaxis:
     var txt = document.createTextNode("Some_Text");
  • appendChild(): después de crear el Node de texto, tenemos que agregarlo al elemento usando el método appendChild() .

    Sintaxis:

     element.appendChild(Node_To_append);

A continuación, se muestra el código de trabajo sobre cómo usar estos métodos y propiedades discutidos anteriormente.

HTML

<!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>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

childNodes[Posición]: esta propiedad devuelve una colección de Nodes secundarios como un objeto NodeList. Los Nodes se ordenan tal como aparecen en el código fuente y se puede acceder a ellos por número de índice a partir de 0.

replaceChild(): reemplaza un Node secundario con un nuevo Node.

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

Ejemplo: El siguiente código muestra cómo reemplazar un elemento por otro.

HTML

<!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>

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 mr_coder9933 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 *