Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

252
Visualizações
¿Cómo obtener valor dentro de div dentro de ul dentro de li con Javascript?

Todavía no estoy aprendiendo jQuery, así que javascript, por favor. aquí está el HTML como a continuación

 <ul style="position: absolute;"> <li style="position: absolute;"> <div role="checkbox" class="filter-list-cell filter-text css-ahhuez"> <span class="dog-123" title="dogname">TEDDY</span> <span>8%</span> </div> </li> <li style="position: absolute;"> <div role="checkbox" class="filter-list-cell filter-text css-voqwhr"> <span class="dog-123" title="dogname">OZZY</span> <span>7%</span> </div> </li> . . . 8 more <li> </ul>

lo que trato de obtener está dentro del valor li > span "TEDDY" y luego li > span "OZZY" y el resto de 8 valores li más dentro del intervalo, haga que el resultado sea una matriz como:

 dogname = [TEDDY,OZZY,REX...]

Intenté hacer clic derecho para copiar la ruta del selector y luego usar document.querySelectorAll(), obtuve 10 NodeList, i Array.from it pero aún necesito pasar el div para obtener el valor de intervalo.

creo que debería recorrerlos? pero me parece extraño... no estoy muy familiarizado con html, así que por favor dame alguna pista o dirección para este problema

¡Gracias!

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Tome los perros por el nombre de la clase dog-123 y luego map sobre la lista de nodos (convertida en una matriz) para crear una nueva matriz de nombres a partir del contenido de texto de cada nodo.

 const dogs = document.querySelectorAll('.dog-123'); const names = [...dogs].map(dog => dog.textContent); console.log(names);
 <ul> <li> <span class="dog-123">TEDDY</span> <span>8%</span> </li> <li> <span class="dog-123">OZZY</span> <span>7%</span> </li> <li> <span class="dog-123">Bob from Accounting</span> <span>700%</span> </li> </ul>

Documentación adicional

  • Difundir sintaxis
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede hacerlo usando los selectores de CSS : tome el primer span dentro de cada div que está dentro de un li que está dentro de un ul . La parte :first-child se denominapseudoclase , es decir, selecciona un elemento con respecto no solo a sí mismo y a sus padres/hermanos, sino también a las características del árbol XML o incluso a características externas como el historial del navegador.

Sin embargo, cuidado, porque si tiene otro ul cuyos descendientes tienen esas características, estaría seleccionando valores no deseados.

En una línea:

 Array.from(document.querySelectorAll("ul > li > div span:first-child")).map(x => x.innerText);

Si quisiera ser más preciso (en un raspador, por ejemplo), probablemente comenzaría con un elemento raíz con una identificación conocida (por lo tanto, única). Así que digamos que tiene <ul id="myList"> , entonces el selector de CSS sería #myList > li > div span:first-child .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda