Ir al contenido principal

Manipulación de nodos

En esta práctica de JavaScript he puesto en práctica la creación y manipulación de elementos (nodos) del DOM.

Logotipo de JavaScript

El usuario pulsará en distintos párrafos que insertarán, reemplazarán, suprimirán, cambiarán y copiarán distintos elementos del DOM respectivamente.
Para poder comprender el código de esta práctica es muy importante conocer el uso de los métodos createElement(), createTextNode(), appendChild(), insertBefore(), replaceChild(), removeChild() y cloneNode(), así como de la propiedad parent.Node. Como ayuda puedes echarle un vistazo a los siguientes enlaces:

👉Enlace 1      👉Enlace 2      👉Enlace 3      👉Enlace 4      👉Enlace 5      👉Enlace 6      👉Enlace 7      👉Enlace 8

Código HTML

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Práctica de JavaScript</title>
    <link href="estilos.css" rel="stylesheet" type="text/css" />
    <script src="funciones.js" type="text/javascript"></script>
  </head>
  <body>
    <div id="caja">
      <h4 id="primero">Primer texto fijo.</h4>
      <h4 id="segundo">Segundo texto fijo.</h4>
      <h4 id="tercero">Tercer texto fijo.</h4>
    </div>
    <p id="restaura">Pulse aquí para restaurar la caja.</p>
    <p id="debajo">Inserte un nuevo elemento debajo.</p>
    <p id="delante">Inserte un nuevo elemento delante del segundo.</p>
    <p id="reemplaza">Reeemplace el primer elemento de la caja por otro nuevo.</p>
    <p id="suprime">Suprima el tercer párrafo.</p>
    <p id="cambia">Ponga el segundo texto en último lugar.</p>
    <p id="copia">Copia del segundo elemento. Se inserta al final.</p>
  </body>
</html>

Código CSS

#caja {
  width: 400px;
  height: 250px;
  border: 1px solid black;
  float: right;
  overflow: auto;
  padding: 10px;
}

Código JavaScript

window.onload = inicializar;
function inicializar() {
    document.getElementById("restaura").addEventListener("click", restaurar, false);
    document.getElementById("debajo").addEventListener("click", debajo, false);
    document.getElementById("delante").addEventListener("click", delante, false);
    document.getElementById("reemplaza").addEventListener("click", reemplazar, false);
    document.getElementById("suprime").addEventListener("click", suprimir, false);
    document.getElementById("cambia").addEventListener("click", cambiar, false);
    document.getElementById("copia").addEventListener("click", copiar, false);
    let caja = document.getElementById("caja");
}
let nuevoElemento = document.createElement("p");
let nuevoTexto = document.createTextNode("Nuevo elemento en la página.");
let nuevo = nuevoElemento.appendChild(nuevoTexto);
function restaurar() {
    caja.innerHTML = "<h4 id='primero'>Primer texto fijo.</h4><h4 id='segundo'>Segundo texto fijo.</h4><h4 id='tercero'>Tercer texto fijo.</h4>";
}
function debajo() {
    caja.appendChild(nuevo);
}
function delante() {
    let segundo = document.getElementById("segundo");
    let padre = segundo.parentNode;
    padre.insertBefore(nuevo, segundo);
}
function reemplazar() {
    let primero = document.getElementById("primero");
    let padre = primero.parentNode;
    padre.replaceChild(nuevo, primero);
}
function suprimir() {
    let tercero = document.getElementById("tercero");
    tercero.parentNode.removeChild(tercero);
}
function cambiar() {
    let segundo = document.getElementById("segundo");
    segundo.parentNode.removeChild(segundo);
    caja.appendChild(segundo);
}
function copiar() {
    let segundo = document.getElementById("segundo");
    let copia = segundo.cloneNode(true);
    caja.appendChild(copia);
}

Demostración

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.

Entradas populares de este blog

Mostrar y ocultar un elemento con un solo botón

En esta práctica de JavaScript he puesto en práctica el uso de funciones dentro de otra función. Cuando se pulsa en un botón se oculta el elemento y se cambia el valor del botón. Cuando se pulsa nuevamente en el botón se muestra el elemento y se cambia el valor del botón. Para poder comprender el código de esta práctica es muy importante conocer el uso de las funciones en JavaScript y la forma de acceder a los elementos del DOM y a los atributos de dichos elementos . Como ayuda puedes echarle un vistazo a los siguientes enlaces: 👉 Enlace 1      👉 Enlace 2 Código HTML <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Práctica de JavaScript</title> ...

Obtener datos de botones de checkbox

En esta práctica de JavaScript he puesto en práctica el acceso a los datos de botones checkbox de un formulario en HTML. El usuario seleccionará sus hobbies favoritos de entre unas opciones y al pulsar sobre un botón se le mostrará los hobbies que ha seleccionado. Para poder comprender el código de esta práctica es muy importante conocer el uso de las propiedades checked y value en los botones de checkbox de un formulario en HTML. Como ayuda puedes echarle un vistazo a los siguientes enlaces: 👉 Enlace 1      👉 Enlace 2 Código HTML <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Práctica de JavaScript</title> <link href="estilos.css...

Tabla de multiplicar con JavaScript

En esta práctica de JavaScript he puesto en práctica el uso del bucle for y de la propiedad innerHTML en este lenguuaje de programación. El usuario ingresa un número y se le muestra la tabla de multiplicar de dicho número. Para poder comprender el código de esta práctica es muy importante conocer el uso del bucle for() , de la propiedad innerHTML y la forma de acceder a los elementos del DOM y a los atributos de dichos elementos . Como ayuda puedes echarle un vistazo a los siguientes enlaces: 👉 Enlace 1      👉 Enlace 2      👉 Enlace 3 Código HTML <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Práctica de JavaScript</title> <li...