JQuery - Obter enésimo elemento
-
22-08-2019 - |
Pergunta
Por exemplo, eu tenho uma div com um id (digamos "the_div"). Esta div contém uma lista não ordenada, e esta lista tem 5 itens nele.
Como eu poderia adicionar uma classe para o terceiro item da lista, sem qualquer dos itens da lista com uma classe que lhes são inerentes?
Edit:? Melhor ainda, como eu ia mudar o texto item da lista para igualar o elemento número era
Graças.
Solução
Para o seu primeiro problema, você pode usar eq
, que é 0 com base:
$('ul li', '#thediv').eq(2).addClass('whatever'); // add class to 3rd item
Para o seu segundo problema, você pode usar each
para percorrer toda a lista Itens. A função de retorno passa um argumento contendo o índice do elemento de corrente no conjunto:
$('ul li', '#thediv').each(function(i) {
$(this).text(i); // update each list item with its index, 0 based.
});
Outras dicas
Ou ...
$('#the_div ul li:eq(2)').addClass('className');
Você pode combinar os seletores juntos - se você preferir:)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow