El DOM en JavaScript
< Anterior Siguiente >¿Qué es el DOM?
El Document Object Model (DOM) es una interfaz que los navegadores web proporcionan para representar documentos HTML o XML. El DOM organiza el contenido de un documento en una estructura de árbol, donde cada nodo del árbol representa un componente del documento (como un elemento HTML, un atributo o un texto). Esta estructura permite que los lenguajes de programación, como JavaScript, interactúen con el contenido, la estructura y el estilo de las páginas web.
Acceso y Manipulación del DOM
JavaScript ofrece varias maneras de acceder y manipular el DOM. A continuación, se presentan los métodos y propiedades más comunes:
Método/Propiedad | Descripción | Ejemplo |
---|---|---|
document.getElementById() |
Selecciona un elemento por su atributo id . |
<div id="miElemento">Texto original</div> <script> var elemento = document.getElementById('miElemento'); elemento.innerHTML = 'Texto modificado'; </script> |
document.getElementsByClassName() |
Selecciona todos los elementos que tienen una clase específica. |
<div class="miClase">Primer div</div> <div class="miClase">Segundo div</div> <script> var elementos = document.getElementsByClassName('miClase'); for (var i = 0; i < elementos.length; i++) { elementos[i].style.color = 'blue'; } </script> |
document.getElementsByTagName() |
Selecciona todos los elementos que tienen un nombre de etiqueta específico. |
<div>Un div</div> <p>Un párrafo</p> <script> var elementos = document.getElementsByTagName('div'); for (var i = 0; i < elementos.length; i++) { elementos[i].style.border = '1px solid red'; } </script> |
document.querySelector() |
Devuelve el primer elemento que coincide con un selector CSS especificado. |
<div class="miClase">Contenido</div> <script> var elemento = document.querySelector('.miClase'); elemento.style.backgroundColor = 'yellow'; </script> |
document.querySelectorAll() |
Devuelve todos los elementos que coinciden con un selector CSS especificado. |
<div class="miClase">Elemento 1</div> <div class="miClase">Elemento 2</div> <script> var elementos = document.querySelectorAll('.miClase'); elementos.forEach(function(elemento) { elemento.style.fontSize = '20px'; }); </script> |
element.innerHTML |
Obtiene o establece el contenido HTML de un elemento. |
<div id="miDiv"></div> <script> var div = document.getElementById('miDiv'); div.innerHTML = '<p>Nuevo párrafo</p>'; </script> |
element.textContent |
Obtiene o establece el contenido de texto de un elemento, sin interpretar HTML. |
<div id="miDiv">Texto original</div> <script> var div = document.getElementById('miDiv'); div.textContent = 'Texto modificado'; </script> |
Ejemplos de Manipulación del DOM
Ejemplo 1: Cambiar el contenido de un elemento
Para cambiar el contenido de un elemento, podemos usar la propiedad innerHTML
. Supongamos que tenemos un elemento con el id miElemento
:
<div id="miElemento">Contenido original</div>
Para actualizar su contenido con JavaScript:
<script> document.getElementById('miElemento').innerHTML = 'Nuevo contenido'; </script>
El resultado será que el texto dentro del div
se cambiará a "Nuevo contenido".
Ejemplo 2: Cambiar el estilo de un elemento
Podemos modificar el estilo de un elemento accediendo a la propiedad style
. Si queremos cambiar el color de fondo de un elemento con la clase miClase
, utilizamos:
<div class="miClase">Este es un div</div>
En JavaScript:
<script> document.querySelector('.miClase').style.backgroundColor = 'yellow'; </script>
Esto hará que el fondo del div
sea de color amarillo.
Ejemplo 3: Añadir un nuevo elemento al DOM
Para añadir un nuevo elemento, primero creamos el elemento usando document.createElement()
, luego lo agregamos al DOM con appendChild()
. Supongamos que queremos añadir un párrafo a un contenedor:
<div id="contenedor"></div>
En JavaScript:
<script> var nuevoElemento = document.createElement('p'); nuevoElemento.textContent = 'Este es un nuevo párrafo.'; document.getElementById('contenedor').appendChild(nuevoElemento); </script>
Esto añadirá un nuevo párrafo con el texto especificado dentro del contenedor.
Ejemplo 4: Eliminar un elemento del DOM
Para eliminar un elemento, primero seleccionamos el elemento y luego usamos remove()
. Por ejemplo, para eliminar un div
con el id miElemento
:
<div id="miElemento">Eliminar este div</div>
En JavaScript:
<script> var elemento = document.getElementById('miElemento'); elemento.remove(); </script>
Este código eliminará el div
del DOM.
Ejemplo 5: Modificar Atributos de un Elemento
Podemos modificar los atributos de un elemento usando setAttribute()
y getAttribute()
. Por ejemplo, para cambiar el atributo src
de una imagen:
<img id="miImagen" src="imagen1.jpg" alt="Imagen original">
En JavaScript:
<script> var imagen = document.getElementById('miImagen'); imagen.setAttribute('src', 'imagen2.jpg'); imagen.setAttribute('alt', 'Imagen modificada'); </script>
Esto cambiará la fuente de la imagen y el texto alternativo.