Saltar al contenidoIr al contenido
Cómo manipular el DOM con JavaScript
JavaScript

Cómo manipular el DOM con JavaScript

El DOM permite acceder y modificar los elementos de una página web mediante JavaScript.

Con JavaScript podemos cambiar el contenido de una etiqueta HTML, modificar sus estilos, agregar o eliminar elementos y responder a las acciones realizadas por el usuario.

Qué es el DOM

DOM significa Document Object Model o modelo de objetos del documento.

Representa todos los elementos que forman una página web, como:

  • Encabezados.
  • Párrafos.
  • Botones.
  • Menús.
  • Imágenes.
  • Enlaces.

El navegador organiza estos elementos mediante una estructura de árbol.

El documento HTML funciona como la raíz principal. Desde ella aparecen elementos como head y body, que a su vez contienen otras etiquetas.

<html> <head> <title>Mi página</title> </head> <body> <h1>Título principal</h1> <a href="#">Enlace</a> </body> </html>

Qué podemos hacer con JavaScript y el DOM

Al acceder al DOM desde JavaScript podemos:

  • Cambiar el contenido de los elementos.
  • Agregar o eliminar etiquetas.
  • Modificar atributos.
  • Cambiar estilos CSS.
  • Responder a eventos.
  • Crear nuevos elementos.

Esto permite que una página web se comporte de manera dinámica.

Documento HTML de ejemplo

Para practicar utilizaremos tres párrafos con la misma clase, pero con identificadores diferentes.

<p id="parrafo1" class="parrafos">Párrafo 1</p> <p id="parrafo2" class="parrafos">Párrafo 2</p> <p id="parrafo3" class="parrafos">Párrafo 3</p>

Seleccionar un elemento por su ID

El método getElementById() permite seleccionar un elemento mediante el valor de su atributo id.

const elementoPorId = document.getElementById("parrafo1");

En este caso, la variable contiene el elemento cuyo identificador es parrafo1.

Cambiar el contenido con innerHTML

La propiedad innerHTML permite leer o reemplazar el contenido HTML de un elemento.

elementoPorId.innerHTML = "HTML";

Después de ejecutar esta línea, el contenido del primer párrafo será reemplazado por la palabra HTML.

Seleccionar elementos por su clase

El método getElementsByClassName() selecciona todos los elementos que tienen una clase determinada.

const elementosPorClase = document.getElementsByClassName("parrafos");

Este método devuelve una HTMLCollection con los elementos encontrados.

Podemos comprobar cuántos elementos contiene mediante la propiedad length.

console.log(elementosPorClase.length);

Como existen tres párrafos con la clase parrafos, el resultado será 3.

Acceder a un elemento de la colección

Las posiciones comienzan desde cero:

  • Posición 0: primer elemento.
  • Posición 1: segundo elemento.
  • Posición 2: tercer elemento.

Para cambiar el segundo párrafo:

elementosPorClase[1].innerHTML = "CSS";

Seleccionar elementos por su etiqueta

El método getElementsByTagName() selecciona los elementos que utilizan una etiqueta HTML determinada.

const elementosPorEtiqueta = document.getElementsByTagName("p");

Este método también devuelve una HTMLCollection.

Para comprobar su longitud:

console.log(elementosPorEtiqueta.length);

Para modificar el tercer párrafo:

elementosPorEtiqueta[2].innerHTML = "JavaScript";

Después de ejecutar los tres ejemplos, los párrafos mostrarán HTML, CSS y JavaScript.

Ejemplo completo para cambiar el contenido

const elementoPorId = document.getElementById("parrafo1"); const elementosPorClase = document.getElementsByClassName("parrafos"); const elementosPorEtiqueta = document.getElementsByTagName("p"); elementoPorId.innerHTML = "HTML"; elementosPorClase[1].innerHTML = "CSS"; elementosPorEtiqueta[2].innerHTML = "JavaScript";

Modificar estilos CSS desde JavaScript

La propiedad style permite cambiar directamente la apariencia de un elemento seleccionado.

Por ejemplo, podemos modificar el primer párrafo para que se parezca a un botón:

elementoPorId.style.background = "black"; elementoPorId.style.color = "white"; elementoPorId.style.borderRadius = "5px"; elementoPorId.style.width = "150px"; elementoPorId.style.textAlign = "center";

Cómo escribir propiedades CSS en JavaScript

Las propiedades CSS que contienen guiones se escriben en JavaScript mediante el formato camelCase.

Propiedad en CSSPropiedad en JavaScript
background-colorbackgroundColor
border-radiusborderRadius
text-aligntextAlign
font-sizefontSize

La primera palabra se escribe en minúscula y cada palabra siguiente comienza con mayúscula.

Ejemplo completo

Archivo HTML

<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Manipulación del DOM</title> </head> <body> <p id="parrafo1" class="parrafos">Párrafo 1</p> <p id="parrafo2" class="parrafos">Párrafo 2</p> <p id="parrafo3" class="parrafos">Párrafo 3</p> <script src="script.js"></script> </body> </html>

Archivo JavaScript

const elementoPorId = document.getElementById("parrafo1"); const elementosPorClase = document.getElementsByClassName("parrafos"); const elementosPorEtiqueta = document.getElementsByTagName("p"); elementoPorId.innerHTML = "HTML"; elementosPorClase[1].innerHTML = "CSS"; elementosPorEtiqueta[2].innerHTML = "JavaScript"; elementoPorId.style.background = "black"; elementoPorId.style.color = "white"; elementoPorId.style.borderRadius = "5px"; elementoPorId.style.width = "150px"; elementoPorId.style.textAlign = "center";

Conclusión

El DOM representa los elementos que componen una página web y permite manipularlos mediante JavaScript.

Podemos seleccionar elementos por su identificador, clase o etiqueta utilizando getElementById(), getElementsByClassName() y getElementsByTagName().

Después de seleccionar un elemento, podemos modificar su contenido con innerHTML y cambiar su apariencia mediante la propiedad style.

Compartir
Escrito por
deybi
Soy un joven dominicano dedicado a la creación de páginas web, con un proyecto de vida claro y una visión enfocada en el crecimiento, la disciplina y el trabajo constante. Me esfuerzo cada día...

Deja un comentario