Entendiendo el DOM

1

Manipulación del DOM con JavaScript y APIs

2

Entendiendo el DOM y su Manipulación con JavaScript

3

Diferencias entre el DOM y el objeto Window en JavaScript

Seleccionando y Accesando a Elementos del DOM

4

Selección de Elementos del DOM con JavaScript

5

Navegación Jerárquica del DOM en JavaScript

Manipulando Elementos del DOM

6

Atributos y Propiedades en HTML y su Manipulación con JavaScript

7

Modificar texto en HTML con JavaScript

8

Modificar Estilos CSS con JavaScript: Propiedad Style y ClassName

9

Uso de classList para Manipular Clases en Elementos HTML

10

Manipulación del DOM con innerHTML e InsertAdjacentHTML

11

Agregar elementos HTML sin reemplazar contenido existente

12

Creación y Manipulación de Elementos DOM con createElement

13

Eliminar Elementos del DOM con JavaScript: Métodos y Ejemplos

14

Clonación y Reemplazo de Elementos en JavaScript

Manipulando Eventos en el DOM

15

Eventos y Flujo en Programación Web: Capturing y Bubbling

16

Manejo de Eventos en JavaScript: click, mouseOver y mouseOut

17

Manipulación de Eventos en JavaScript para Interacción de Elementos

18

Validación de Formularios con JavaScript: Prevenir Comportamiento por Defecto

19

Delegation Pattern en JavaScript: Mejora de Eventos Click en Listas

Creando un Administrador de Tareas

20

Creación de un Task Manager con Persistencia usando Local Storage

21

Interactividad en Botones de Tareas: Borrar y Editar en JavaScript

22

Persistencia de Datos con Local Storage en Tareas Web

23

Guardado y edición de tareas en local storage con JavaScript

24

Manejo de Errores en Local Storage para Tareas Dinámicas

25

Cambio de Tema Dinámico y Persistente en Aplicaciones Web

26

Creación de Páginas Web Dinámicas con JavaScript

Asincronía en JavaScript

27

Programación Síncrona y Asíncrona en JavaScript

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Uso de classList para Manipular Clases en Elementos HTML

9/27
Recursos

¿Qué es classList y por qué es útil?

La manipulación de clases en elementos HTML es esencial para crear aplicaciones web interactivas y dinámicas. Para gestionar estas clases, classList surge como una herramienta poderosa y versátil. A diferencia de className, que sobrescribe la clase de un elemento HTML, classList permite agregar, eliminar o alternar clases sin modificar las que ya existen. Esta funcionalidad es crucial cuando se desea realizar cambios de estilo sobre la marcha manteniendo intactas otras propiedades del componente.

¿Cómo utilizar el método toggle() de classList?

El método toggle() de classList permite cambiar la presencia de una clase en un elemento. Es decir, si la clase ya está presente, toggle() la elimina; si no está presente, la agrega. Esta simplicidad es especialmente útil en sitios web donde es necesario ocultar o mostrar contenido con un solo clic.

Ejemplo práctico de toggle()

Para entender mejor, imaginemos un ejercicio práctico:

  1. Se tiene un menú que es visible por defecto.
  2. Al presionar un botón denominado "Toggle Visibility", se quiere que el menú se oculte o aparezca dependiendo de su estado actual.

El código JavaScript para lograr esto sería el siguiente:

const button = document.querySelector('button');
const menu = document.querySelector('.mainMenu');

button.addEventListener('click', function() {
  menu.classList.toggle('invisible');
});

Este script selecciona el botón y el menú. Al escuchar el evento de clic en el botón, alterna la clase invisible en el menú, ocultando o mostrando el menú de acuerdo a la presencia de esta clase.

Otros métodos útiles en classList

Además de toggle(), classList ofrece otros métodos útiles para manipular clases de forma efectiva:

  • add(clase): Añade una clase al elemento, si aún no está presente.
  • remove(clase): Elimina una clase del elemento.
  • contains(clase): Devuelve true o false dependiendo de si la clase especificada está presente en el elemento. Esto es útil para verificar el estado de un elemento antes de realizar ciertas acciones.

Recomendaciones para el uso de classList

Al utilizar classList, es importante prestar atención a las siguientes recomendaciones:

  • Compatibilidad del navegador: Aunque classList es ampliamente soportada por los navegadores modernos, es importante verificar la compatibilidad para asegurar que toda la audiencia pueda interactuar correctamente con el contenido.
  • Nombres de clases significativos: Usar nombres de clases descriptivos facilita la comprensión del propósito de cada estilo aplicado y mejora la mantenibilidad del código.
  • Pruebas y depuración: Verifique en la consola de herramientas de desarrollo del navegador si las clases se aplican como se espera, para detectar y corregir cualquier comportamiento inesperado.

Experimentar con classList puede transformar la interacción de los usuarios con tus aplicaciones web, haciendo que se sientan más dinámicas e intuitivas. Con estas herramientas y consejos, estás listo para llevar tus habilidades de desarrollo web al siguiente nivel. ¡Sigue explorando y aprendiendo para diseñar experiencias de usuario excepcionales!

Aportes 9

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

como el 3 metodo no me funcionaba decidi hacer el segundo, tampoco me funciono, depure css y js , me pace al primer metodo, y dije a ok este si funciono el problema no esta en el js, luego me llego como un rayo que me hizo carcajear, despues de 30 minutos depurando el codigo, mirando si estaba usando mal los selectores o el get element. el porque de este recordatorio que les dejo. ENLACEN SU ARCHIVO CSS A EL HTML¡¡¡¡ JAJAJAJAJ
• classList: Es una propiedad en JavaScript que proporciona una manera conveniente de acceder y manipular las clases CSS de un elemento HTML. Te permite agregar, quitar, alternar y verificar la presencia de clases en los elementos sin necesidad de manipular directamente la cadena completa de la propiedad "className". METODOS DE classList: • .add : Agrega clases. • .remove: Elimina clases. • .toggle: Alterna la presecia de una clase. • .contains: Verifica si una clase esta presente. • .replace: Remplaza una clase por otra. • .lenght: Devuelve el numero de clases en el elemento. Usar classList es mucho mas limpio y seguro que manipular la propiedad className directamente, ya que evita problemas con la manipulacion de cadenas y garantiza que las clases se gestionen correctamente.
'Toggle' es como se llama en inglés a un interruptor que tiene dos opciones como encendido / apagado, modo claro / modo oscuro... Puede tener este aspecto:![](https://static.platzi.com/media/user_upload/toggle-ba98dd08-2400-4c05-a359-393d5d050e40.jpg)
para que funcione el method hay que inicializar la función. `const button = document.querySelector("button"); const menu = document.querySelector(".menu"); button.addEventListener("click", () => { menu.classList.toggle("invisible"); });`
Les dejo mis apuntes: ```js // Obtenemos el elemento del DOM con el id "app-title" y lo almacenamos en la variable 'titulo' const titulo = document.getElementById("app-title"); // Modificamos el estilo de fondo (background-color) del elemento 'titulo' a rojo (red) console.dir(titulo.style.backgroundColor = "red"); // Cambiamos el color del texto (color) dentro del elemento 'titulo' a blanco (white) console.dir(titulo.style.color = "white"); // Seleccionamos el primer elemento <menu> del documento usando 'querySelector' y lo guardamos en la variable 'menu' const menu = document.querySelector("menu"); // Cambiamos el color de fondo (background-color) del elemento 'menu' a rojo (red) console.dir(menu.style.backgroundColor = "red"); // Cambiamos el tamaño de la fuente (font-size) del texto dentro del elemento 'menu' a 25 píxeles console.dir(menu.style.fontSize = "25px"); // Sobrescribimos la clase CSS del elemento 'menu', asignándole una nueva clase llamada "main-menu" console.dir(menu.className = "main-menu"); ```
`classList` en JavaScript es una propiedad súper útil que te permite **acceder, añadir, eliminar y alternar clases CSS** en un elemento HTML sin tener que escribir todo el atributo `class` manualmente. Es como un mini gestor de clases ✨. ### Ejemplo básico: `const caja = document.querySelector('.caja');` `caja.classList.add('activa'); // Añade una clase` `caja.classList.remove('oculta'); // Elimina una clase` `caja.classList.toggle('resaltada'); // Si tiene la clase, la quita; si no, la añade` `caja.classList.contains('activa'); // Devuelve true o false si tiene la clase` ### ¿Por qué es mejor que modificar `className`? * `className` reemplaza todas las clases. * `classList` permite manipularlas individualmente, sin dañarte el resto.
Olvidaba que existia el method de .toggle() en classList buen recordatorio!
Yo habia pensado en una solución como esta: *let truly = true;* *function toggle() {* *truly = !truly;*  *menu.className = truly === false ? "invisible" : "menu";* *}* Igual funciona y creo que para quien no conoce función flecha y el método toggle a cabalidad está perfecto, ademas profe ya 10 clases y no ha dejado ni un ejercicio, hombre.
Por favor una idea no me funciona el button visibility pueden ayudarme