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

146
Vistas
Agregar clase activa al elemento en el menú

Estoy buscando agregar una clase de elemento activo a mi barra de navegación, cuando selecciono el siguiente enlace, el anterior permanece resaltado, solo quiero que el enlace actual permanezca activo.

Vea el código a continuación:

 <header> <nav> <ul> <li><a href="#">home</a></li> <li><a href="#">about</a></li> <li><a href="#">service</a></li> <li><a href="#">profile</a></li> <li><a href="#">portfolio</a></li> <li><a href="#">contact</a></li> </ul> </nav> </header> document.querySelectorAll('li').forEach(item => { item.addEventListener('click', event => { alert(item.outerHTML); if(item.className === "active"){ item.classList.remove("active"); } item.classList.add("active"); }); })

https://jsfiddle.net/9xca1pgh/42/

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede eliminar la clase activa de todos los elementos li y agregar la clase activa a la actual

 document.querySelectorAll('li').forEach(item => { item.addEventListener('click', event => { document.querySelectorAll('li').forEach(i => {i.classList.remove('active')}) item.classList.add('active') }) })

Si desea utilizar bucles for

 for(let item of document.querySelectorAll('li')) { item.addEventListener('click', event => { // Remove active class from all li for(let i of document.querySelectorAll('li')) { i.classList.remove('active') } item.classList.add('active') }) }
about 4 years ago · Juan Pablo Isaza Denunciar

0

porque el elemento en el evento es objetivo de este

  • en sí mismo, debe encontrar la etiqueta activa y eliminarla.

     document.querySelectorAll('li').forEach(item => { item.addEventListener('click', event => { alert(item.outerHTML); document.querySelectorAll('li').forEach(item => { if(item.className === "active"){ item.classList.remove("active"); } }); item.classList.add("active"); }); })
  • about 4 years ago · Juan Pablo Isaza 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