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

201
Vistas
Cómo agregar diferentes clases en cada nivel de ul li usando javascript

Estoy tratando de obtener diferentes clases para cada ul li como se menciona a continuación en el código. El código que he probado hasta ahora está en jQuery, pero necesito que esto se logre en Vanilla Javascript

¡Cualquier ayuda será apreciada!

 const topLevel = Array.from(document.querySelector(".main-nav-list > li > ul")) .map(({ parentElement }) => parentElement); for (const element of topLevel) { element.setAttribute(`${element.className} hasChild top`); const subLevel = Array.from(element.querySelectorAll("li > ul")) .map(({ parentElement }) => parentElement); for (const subElement in subLevel) { subElement.setAttribute(`${subElement.className} hasChild sub`); } }
 <nav class="main-nav"> <ul class="main-nav-list"> <li class="a"> <a href="/">First</a> <ul class="main-nav-list"> <li class="b"> <a href="/">Type of menu</a> <ul class="main-nav-list"> <li class="c"> <a href="/">Summer</a> </li> <li class="c"> <a href="/">Winter</a> </li> <li class="c"> <a href="/">All season</a> </li> <li class="c"> <a href="/">Spring </a> </li> </ul> </li> </ul> </li> </ul> </nav>

ingrese la descripción de la imagen aquí

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

0

Así es como podría lograr esto en Vanilla JavaScript, los detalles son un poco complicados y realmente no encajan en una respuesta, porque cada uno de estos métodos utilizados aquí y los jQuery que utilizó sobre todo tienen comportamientos y fondos específicos que se explican con más detalle en las respectivas documentaciones :

 const topLevel = Array.from(document.querySelector(".main-nav-list > li > ul")) .map(({parentElement}) => parentElement); for (const element of topLevel) { element.setAttribute(`${element.className} hasChild top`); const subLevel = Array.from(element.querySelectorAll("li > ul")) .map(({parentElement}) => parentElement); for (const subElement of subLevel) { subElement.setAttribute(`${subElement.className} hasChild sub`); } }
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