Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
resumir una función que selecciona múltiples elementos

Creé una función que cambiaba los colores de mi sitio cuando hacía clic (un tema de modo claro), y con eso, tenía que seleccionar los elementos a los que se les cambiaría el color, uno por uno, lo que dejaba el código enorme. ¿Cómo podría resumir esta selección?

 let h = document.querySelector('header'); h.classList.toggle('bright-mode'); let b = document.querySelector('body'); b.classList.toggle('bright-mode'); let h1 = document.querySelector('h1'); h1.classList.toggle('bright-mode'); let h2 = document.querySelector('h2'); h2.classList.toggle('bright-mode'); let h3 = document.querySelector('h3'); h3.classList.toggle('bright-mode'); let h4 = document.querySelector('h4'); h4.classList.toggle('bright-mode'); let si = document.querySelector('.section-inicio'); si.classList.toggle('bright-mode'); let ss = document.querySelector('.section-sobre'); ss.classList.toggle('bright-mode'); let sl = document.querySelector('.section-linguagens'); sl.classList.toggle('bright-mode'); }
about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

¿Por qué no simplemente seleccionarlos todos a la vez con querySelectorAll y luego simplemente recorrerlos y alternar la clase?

 document.querySelectorAll('header, body, h1, h2, h3, h4, .section-inicio, .section-sobre, .section-linguagens').forEach( el => el.classList.toggle('bright-mode') )

solo 1 línea de código ;)

about 4 years ago · Santiago Gelvez Denunciar

0

Debe agregar la clase bright-mode solo a la etiqueta <body> . Antes de eso, en su CSS defina todos los selectores y sus colores brillantes debajo de ese selector principal.

 var darkMode = false function handle_dark_click() { if (darkMode == true) { disable_dark(); } else { enable_dark(); } darkMode = !darkMode; } function enable_dark() { document.body.classList.add("bright-mode"); } function disable_dark() { document.body.classList.remove("bright-mode"); } document.getElementById('toggle-theme').addEventListener('click', handle_dark_click)
 /* default is dark */ body { background: #333; } h1 { color: white; } div { border: 1px solid white; } /* all of these are bright mode */ body.bright-mode { background: white; } body.bright-mode h1 { color: black; } body.bright-mode div { border-color: black; }
 <body> <div> <h1>hello world</h1> </div> <button id="toggle-theme">toggle theme</button> </body>

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda