Añadir y quitar clases con JavaScript
En el siguiente tutorial aprenderemos cómo Añadir y quitar clases con JavaScript
Añadir una o más clases
Para añadir clases a un elemento tenemos que seleccionar el listado de clases y utilizar el método add
Ejemplo
<!--Elemento html--> <div id="contenido"></div> <script> // Vamos a añadir la clase principal al elemento con id=contenido document.getElementById('contenido').classList.add('principal'); // Ahora vamos a añadir 2 clases más document.getElementById('contenido').classList.add('primero', 'main'); </script>
Quitar una o más clases
Para quitar clases a un elemento tenemos que seleccionar el listado de clases del elemento y utilizar el método remove
Ejemplo
<!--Elemento html--> <div id="contenido" class="principal primero main"></div> <script> // Vamos a quitar la clase principal al elemento con id=contenido document.getElementById('contenido').classList.remove('principal'); // Ahora vamos a quitar otras 2 clases document.getElementById('contenido').classList.remove('primero', 'main'); </script>
Añadir o quitar clases
Podemos utilizar el método toggle para añadir una clase o quitarla dependiendo si el elemento ya tiene esa clase o no, por lo cual, si el elemento tiene la clase indicada se la quita y si no la tiene se la añade
Ejemplo
<!--Elemento html--> <div id="contenido" class="principal primero main"></div> <script> // Vamos quitar la clase principal porque ya la tiene document.getElementById('contenido').classList.toggle('principal'); // En este caso añadirá la clase principal porque ya no la tiene document.getElementById('contenido').classList.toggle('principal'); </script>
Añadir o sustituir clases
En JavaScript también podemos añadir o sustituir clases a un elemento de la siguiente forma
- Reemplazar las clases existentes por otras
<!--Elemento html--> <div id="contenido" class="principal"></div> <div id="conclusion" class="resumen main-content"></div> <script> let elemento = document.getElementById("contenido"); // Cambiamos la clase principal por cabecera elemento.className = "cabecera"; let elemento2 = document.getElementById("conclusion"); // Cambiamos todas las clases por otras elemento2.className = "text-resume main-text"; </script>
- Añadir clases
<!--Elemento html--> <div id="contenido" class="principal"></div> <div id="conclusion" class="resumen main-content"></div> <script> let elemento = document.getElementById("contenido"); // Añadimos la clase cabecera elemento.className += " cabecera"; </script>