Artículo de consulta · Programación
DOM y eventos: conectar JavaScript con HTML
El DOM es la representación de un documento que las APIs del navegador permiten consultar y modificar. JavaScript puede usarla para leer un campo, cambiar un texto o responder a la interacción del usuario sin volver a cargar la página.
Seleccionar un elemento
document.querySelector acepta un selector CSS y devuelve el primer elemento que coincide. Si no hay coincidencia, devuelve null. Un selector con # busca un id y uno con punto busca una clase. Comprueba el resultado antes de intentar usarlo.
Escuchar eventos
addEventListener registra una función que se ejecuta cuando ocurre un evento, como click o input. Registra la función sin invocarla inmediatamente. El objeto event contiene información sobre el evento; event.target indica el objeto al que se dirigió.
Ejemplo completo: contador
Guarda este fragmento en un documento HTML. El script está después del botón y del párrafo, de modo que esos elementos ya existen cuando se buscan. Cada clic incrementa el contador y reemplaza el texto del párrafo.
<button id="sumar" type="button">Sumar visita</button>
<p id="resultado" aria-live="polite">Visitas: 0</p>
<script>
const boton = document.querySelector("#sumar");
const resultado = document.querySelector("#resultado");
let visitas = 0;
if (boton && resultado) {
boton.addEventListener("click", () => {
visitas += 1;
resultado.textContent = "Visitas: " + visitas;
});
}
</script>Texto y HTML tienen efectos distintos
textContent coloca contenido como texto y no lo interpreta como etiquetas. innerHTML interpreta HTML, por lo que no debes insertar directamente contenido no confiable mediante esa propiedad. Para mostrar un nombre o mensaje como texto, textContent evita esa interpretación.
Errores frecuentes y práctica
- Si querySelector devuelve null, revisa el selector y el momento en que se ejecuta el script.
- Comprueba que un clic sume exactamente una visita; registrar el mismo comportamiento varias veces puede duplicarlo.
- Añade un botón para restablecer el contador y prueba la interacción con teclado.
Referencias
Artículos relacionados
- Fundamentos: variables, condiciones y bucles
- HTML semántico y estructura de una página
- CSS: modelo de caja, Flexbox y Grid
- JavaScript: funciones, parámetros y alcance
- JavaScript: arrays, objetos y transformación de datos
- Promesas, async/await y peticiones con fetch
- HTTP y APIs web: peticiones, respuestas y estados
- JSON: formato, lectura y validación de datos
- Git: cambios, commits, ramas y repositorios remotos
- Node.js y npm: scripts y dependencias de un proyecto
- Depuración y pruebas: encontrar y comprobar errores
- Formatos de color: HEX, RGB y HSL
- Identificadores UUID
- Valores aleatorios en JavaScript
