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

280
Vistas
Selección de varias clases con querySelector

Quiero manipular clases agregando un eventlistener a dos elementos (.close y .overlay).

Intenté hacer esto con el querySelector:

 document.querySelector('.close, .overlay').addEventListener('click', function() { document.querySelector('.menu').classList.remove('slide-in'); document.querySelector('.overlay').classList.add('hide'); });

Por alguna razón, .overlay se ignora sin importar si viene antes o después de la clase .close.

El código anterior solo funciona cuando se repite para cada clase:

 document.querySelector('.overlay').addEventListener('click', function() { document.querySelector('.menu').classList.remove('slide-in'); document.querySelector('.overlay').classList.add('hide'); }); document.querySelector('.close').addEventListener('click', function() { document.querySelector('.menu').classList.remove('slide-in'); document.querySelector('.overlay').classList.add('hide'); });

Lo cual me parece excesivo.

Encontré estas respuestas , que sugieren usar getElementsByClassName o querySelectorAll, pero ninguna parece funcionar para mí.

¿Puede alguien ayudarme a averiguar qué está mal?

HTML:

 <div class="open">Open menu</div> <div class="menu"> <p class="close">Close menu</p> </div> <div class="overlay hide"></div>

CSS:

 .menu { display: block; width: 60vw; height: 100vh; position: fixed; top: 0; left: 0; } .menu .close { text-align: right; font-size: 1.5rem; } .slide-in { -webkit-transform: translateX(40vw); transform: translateX(40vw); } .hide { display: none; } .overlay { position: fixed; top: 0; left: 0; width: 100%; height: 120%; background-color: rgba(0, 0, 0, 0.6); z-index: 50; }
about 4 years ago · Juan Pablo Isaza
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