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

315
Visualizações
¿Cómo obtener el último elemento li usando javascript?

Estoy tratando de obtener el último elemento li de la lista. pero no está dando la salida correcta. aquí está mi marcado

 <div class="abc"> <ul> <li>1</li> <ul><li>1.1</li><li>1.2</li></ul> <li>2</li> <ul><li>2.1</li><li>2.2</li></ul> <li>3</li> <ul><li>3.1</li><li>3.2</li></ul> </ul> </div>

intentando así

 console.log(document.querySelector('.abc ul li:last-child').innerHTML)

elemento de salida

 <li>1.2</li>

Rendimiento esperado

 <li>3</li>
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

hay 2 problemas

  • Su HTML no es válido ya que ul no es un elemento secundario válido de ul , por lo que los anidados deben estar realmente dentro de un li

  • Use el modificador > para encontrar descendientes directos solo en el selector

 console.log(document.querySelector('.abc>ul>li:last-child').innerHTML)
 <div class="abc"> <ul> <li> 1 <ul> <li>1.1</li> <li>1.2</li> </ul> </li> <li> 2 <ul> <li>2.1</li> <li>2.2</li> </ul> </li> <li> 3 <ul> <li>3.1</li> <li>3.2</li> </ul> </li> </ul> </div>

Si solo desea el texto (y no el ul anidado), puede colocar ese texto en un span y seleccionarlo solo

 console.log(document.querySelector('.abc>ul>li:last-child span').innerHTML)
 <div class="abc"> <ul> <li> <span>1</span> <ul> <li>1.1</li> <li>1.2</li> </ul> </li> <li> <span>2</span> <ul> <li>2.1</li> <li>2.2</li> </ul> </li> <li> <span>3</span> <ul> <li>3.1</li> <li>3.2</li> </ul> </li> </ul> </div>

Si solo desea el texto (y no el ul anidado), puede colocar ese texto en un span y seleccionarlo solo

about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes simplemente ir por la forma de javascript como esta.

 li = document.querySelectorAll('.abc>ul>li'); console.log(li[li.length-1].innerText);
about 4 years ago · Juan Pablo Isaza Relatório

0

console.log(document.querySelector('.abc ul li:last-child').innerHTML)

Esta sintaxis de dar white space en lugar de adjacent selectors like ">" se usa cuando queremos aplicar estilos comunes a varias clases.

Entonces, reemplazar su espacio en whitespace con selectores adyacentes como> funcionará en su caso para seleccionar todos sus hijos descendientes.

 console.log(document.querySelector('.abc>ul>li:last-child').innerHTML)
 <div class="abc"> <ul> <li> 1 <ul> <li>1.1</li> <li>1.2</li> </ul> </li> <li> 2 <ul> <li>2.1</li> <li>2.2</li> </ul> </li> <li> 3 <ul> <li>3.1</li> <li>3.2</li> </ul> </li> </ul> </div>

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