Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

229
Views
¿Por qué los nombres de mis clases no se actualizan cuando se configuran a través de JS?

Este puede ser un problema realmente simple, pero parece que no puedo encontrar por qué sucede esto. Estoy tratando de desarrollar un SPA en vanilla js usando un paquete web, hasta ahora pude implementar el enrutamiento con el evento hashchange y activar la reproducción. Pero cuando traté de agregar una clase activa al enlace relevante, aunque cuando cambia el hash, no funciona. Pero cuando inicio sesión en la consola, parece que la clase se agregó correctamente, pero en el HTML no se actualiza. ¿Por qué es esto?

este es mi oyente hashchange,

 window.addEventListener("hashchange", (e) => { const hash = window.location.hash.replace("#", ""); const view = routes.find((route) => { return route.path == hash; }); const links = document.querySelectorAll(".nav-list--link"); app.render(view.name); links.forEach((l) => { const hashHref = l.getAttribute("href").replace("/#", ""); if (hash === hashHref) { l.classList.add("active"); console.log(l, l.classList); } else { l.classList.remove("active"); console.log(l, l.classList); } }); });

Y esta es la salida de la consola,

Salida de la consola cuando hago clic en el enlace de inicio

Este es el HTML,

No entiendo por qué no se actualiza en el HTML si se muestra como actualizado en Javascript

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!