Lección 10 de 13 · Lectura y práctica
DOM y Eventos
Lección práctica para aplicar DOM y Eventos dentro de JavaScript Fundamentals, con criterios de decisión, ejemplo guiado, ejercicio y checklist de salida.
Del concepto a la práctica
Taller de esta lección
Un evento debe localizar el elemento relacionado y actualizar el modelo sin depender de una posición fija. En este ejemplo, cada botón lleva un identificador mediante data-id; así, reordenar la lista no cambia la tarea afectada. La interfaz y el array deben seguir la misma decisión.
Ejemplo resuelto
<button data-id="b2">Completar Enviar</button>
<button data-id="c3">Completar Leer</button>
<script>
const tareas = [
{ id: "b2", titulo: "Enviar", completada: false },
{ id: "c3", titulo: "Leer", completada: false }
];
document.querySelectorAll("button[data-id]").forEach((boton) => {
boton.addEventListener("click", (evento) => {
const tarea = tareas.find(item => item.id === evento.currentTarget.dataset.id);
if (!tarea) return;
tarea.completada = true;
evento.currentTarget.textContent = `Completada: ${tarea.titulo}`;
console.log(tarea.titulo, tarea.completada);
});
});
</script>Pruébalo
Comprueba los dos registros y sus identificadores distintos.
Observa que cada botón se registra con su propio manejador.
Pulsa el segundo botón y observa qué objeto cambia.
Reordena el array y repite.
Error frecuente: usar el índice capturado antes de reordenar. Corrige buscando por un identificador estable.
Comprueba tu resultado
Al pulsar el botón de b2, solo la tarea Enviar debe pasar a true, incluso después de cambiar el orden. La consola debe mostrar Enviar true.
El código vincula los botones existentes al cargar el script. Si creas botones después, registra también sus eventos o usa delegación en un contenedor estable. Prueba Tab y Enter: el botón nativo debe activar la misma transición; tras completarlo, el texto visible debe coincidir con su objeto.

Mapa de prácticaEl texto alternativo comunica el propósito de una imagen. La navegación por teclado necesita un foco visible; los campos necesitan etiquetas y la página una estructura semántica. Estas comprobaciones ayudan a detectar barreras y no sustituyen una auditoría completa.
Ver la infografía en tamaño completo ↗Fuentes para profundizar
Sigue con JavaScript Fundamentals
Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.
Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.