JavaScript y el DOM
INFO
Tenemos una sección completa separada sobre el DOM de JavaScript. Puedes explorarla para obtener ejemplos y explicaciones detallados.
Introducción a JavaScript y el DOM
JavaScript, un potente lenguaje de scripting, desempeña un papel crucial en el desarrollo web moderno. Permite interacciones dinámicas en las páginas web, haciéndolas no solo informativas sino interactivas y atractivas. El Modelo de Objetos del Documento (DOM), un aspecto esencial del desarrollo web, representa la estructura de una página web. Es un modelo en forma de árbol que permite a JavaScript interactuar con documentos HTML y XML, modificando contenido, estructura y estilos de forma dinámica.
Comprender el DOM
El DOM es una representación estructurada de tu documento HTML. Permite a JavaScript acceder y manipular elementos HTML, lo que habilita cambios de contenido en tiempo real, ajustes de estilo y características interactivas. El DOM se organiza como un árbol, donde cada elemento HTML es un nodo. Esta estructura jerárquica es clave para comprender cómo JavaScript interactúa con las páginas web.
Conceptos clave:
- Nodos: Unidades básicas del DOM que representan elementos HTML.
- Estructura de árbol: La organización jerárquica de los nodos en el DOM.
- Objeto Document: El punto de entrada a la jerarquía del DOM.
Navegar por el árbol del DOM
JavaScript proporciona numerosos métodos para recorrer el árbol del DOM, lo que permite a los desarrolladores acceder y manipular cualquier elemento.

<!DOCTYPE html>
<html>
<head>
<title>Text</title>
</head>
<body>
<h1>Header</h1>
<p>Paragraph</p>
</body>
</html>Métodos principales:
document.getElementById(): Accede a un único elemento por su ID.document.getElementsByClassName(): Recupera una HTMLCollection de elementos con un nombre de clase específico.document.getElementsByTagName(): Recopila elementos con un nombre de etiqueta dado.document.querySelector(): Devuelve el primer elemento que coincide con un selector CSS especificado.document.querySelectorAll(): Devuelve una lista de elementos que coinciden con un selector CSS.
Manipulación de elementos del DOM
El poder de JavaScript radica en su capacidad para cambiar dinámicamente el contenido y la apariencia de las páginas web.
Operaciones comunes:
- Cambiar contenido: Usa
element.innerHTMLoelement.textContent. - Modificar estilos: Accede a la propiedad
element.style. - Crear elementos: Usa
document.createElement(). - Añadir elementos: Usa
parentElement.appendChild(newElement). - Eliminar elementos: Usa
parentElement.removeChild(existingElement).
Nota:
innerHTMLanaliza cadenas HTML y puede representar riesgos de XSS si se usa con datos no confiables. PrefieretextContental insertar texto plano.
Manejo de eventos en JavaScript
Los eventos son acciones o sucesos que ocurren en el sistema que estás programando, los cuales el sistema te notifica para que puedas responder de alguna manera si lo deseas. JavaScript puede escuchar y responder a acciones del usuario como clics, entrada de teclado y carga de páginas.
Sintaxis del Event Listener:
element.addEventListener('event', functionToCall);Eventos clave:
- Eventos de clic: Se activan por los clics del usuario.
- Eventos de carga: Se disparan cuando se cargan los recursos.
- Eventos de entrada: Ocurren cuando los usuarios interactúan con campos de entrada.
Ejemplo de manejo de eventos
<!DOCTYPE html>
<html>
<head>
<title>Event Handling</title>
</head>
<body>
<button id="clickMe">Click Me</button>
<script>
document.getElementById('clickMe').addEventListener('click', function() {
alert('Button Clicked!');
});
</script>
</body>
</html>Manipulaciones avanzadas del DOM
Más allá de las manipulaciones básicas, JavaScript permite operaciones más complejas como clonar nodos, manejar formularios y manipular clases CSS.
Técnicas:
- Clonar nodos:
element.cloneNode(true). - Manejo de formularios: Accede y manipula elementos de formulario.
- Manipular clases CSS: Usa
element.classList.add(),element.classList.remove()oelement.classList.toggle().
JavaScript y el DOM: Mejores prácticas
Para usar JavaScript con el DOM de manera eficiente, considera las siguientes mejores prácticas:
- Minimizar manipulaciones del DOM: Reduce el re-renderizado y mejora el rendimiento.
- Usar delegación de eventos: Adjuntar un único listener a un elemento padre para manejar eventos de múltiples hijos de manera eficiente.
- Comprender el reflujo y el repintado: Procesos del navegador para recalcular el diseño y pintar píxeles; minimizarlos mejora el rendimiento.
JavaScript y el DOM: Ejemplos de código
Cambiar contenido
<!DOCTYPE html>
<html>
<head>
<title>Sample Page</title>
</head>
<body>
<div id="content">Original Content</div>
<script>
document.getElementById('content').innerHTML = 'Updated Content';
</script>
</body>
</html>Añadir nuevos elementos
<!DOCTYPE html>
<html>
<head>
<title>Add Elements</title>
</head>
<body>
<div id="container"></div>
<script>
var newElement = document.createElement('p');
newElement.textContent = 'New Paragraph';
document.getElementById('container').appendChild(newElement);
</script>
</body>
</html>Recuerda que dominar JavaScript y el DOM es un viaje de aprendizaje continuo. Sigue experimentando, construyendo y perfeccionando tus habilidades para convertirte en un desarrollador de JavaScript competente.
Práctica
¿Cuál es el papel de JavaScript con el Modelo de Objetos del Documento (DOM)?