Una interfaz no solo comunica con texto. El color, el borde, la visibilidad o el tamaño de un elemento también transmiten estado.
Con JavaScript puedes cambiar clases CSS o estilos directamente para reflejar lo que está ocurriendo, sin tocar el HTML manualmente.
classList: la forma correcta de gestionar clasesEn lugar de leer y sobreescribir el atributo class entero, usa los métodos de classList:
classList.addAñade una clase sin tocar las que ya existen:
classList.removeElimina una clase específica:
classList.toggleAñade la clase si no está, la quita si ya está. Perfecto para estados que se alternan (visible/oculto, expandido/colapsado):
classList.containsComprueba si un elemento tiene una clase. Devuelve true o false:
style: ajustes puntuales en líneaPara cambios de estilo que no encajan bien en una clase CSS, puedes modificar propiedades directamente:
Las propiedades CSS con guión se escriben en camelCase:
background-color → backgroundColorborder-radius → borderRadiusfont-size → fontSizeclassList y cuándo style| Situación | Usa |
|---|---|
| Estado visual predefinido en CSS | classList |
| Valor calculado dinámicamente | style |
| Muchas propiedades a la vez | classList con una clase |
| Una propiedad suelta | style directamente |
La regla general: define los estados visuales en CSS y actívalos con classList.
Usa style solo cuando el valor depende de un cálculo en JavaScript (por ejemplo, un porcentaje dinámico o una posición calculada).
#cajaactivo con classList.addpanel con remove o togglestyleControlar clases y estilos desde JS es la base del feedback visual en cualquier interfaz.