Comment sélectionner le dernier élément enfant dans jQuery?
Juste le dernier enfant, pas ses descendants.
Réponses:
Vous pouvez également faire ceci:
<ul id="example">
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
// possibility 1
$('#example li:last').val();
// possibility 2
$('#example').children().last()
// possibility 3
$('#example li:last-child').val();
children()
. L'option 1 le fait une fois, mais a un pseudo-sélecteur personnalisé / jQuery :last
et est :last-child
déjà là depuis assez longtemps, me semble-t-il que ce serait le plus rapide et prend moins de temps de calcul pour obtenir le résultat.
En utilisant le sélecteur: last-child ?
Avez-vous en tête un scénario spécifique pour lequel vous avez besoin d'aide?
Pour 2019 ...
jQuery 3.4.0 est obsolète: first,: last,: eq,: even,: odd,: lt,: gt et: nth. Lorsque nous supprimons Sizzle, nous le remplacerons par un petit wrapper autour de querySelectorAll, et il serait presque impossible de réimplémenter ces sélecteurs sans un moteur de sélection plus grand.
Nous pensons que ce compromis en vaut la peine. Gardez à l'esprit que nous prendrons toujours en charge les méthodes positionnelles, telles que .first, .last et .eq. Tout ce que vous pouvez faire avec les sélecteurs de position, vous pouvez le faire avec des méthodes de position à la place. Ils fonctionnent mieux de toute façon.
https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/
Donc , vous devriez être maintenant en utilisant .first()
, au .last()
lieu (ou pas jQuery).
Si vous souhaitez sélectionner le dernier enfant et devez être précis sur le type d'élément, vous pouvez utiliser le sélecteur last-of-type
Voici un exemple:
$("div p:last-of-type").css("border", "3px solid red");
$("div span:last-of-type").css("border", "3px solid red");
<div id="example">
<p>This is paragraph 1</p>
<p>This is paragraph 2</p>
<span>This is paragraph 3</span>
<span>This is paragraph 4</span>
<p>This is paragraph 5</p>
</div>
Dans l'exemple ci-dessus, le paragraphe 4 et le paragraphe 5 auront une bordure rouge puisque le paragraphe 5 est le dernier élément de type "p" dans le div et le paragraphe 4 est le dernier "span" du div.
Salut à tous Veuillez essayer cette propriété
$( "p span" ).last().addClass( "highlight" );
Merci
children().last()
et:last-child
est égal. Dans cet exemple - oui, mais imaginez que vous avez deux listes (class = "exemple") et essayez ensuite de sélectionner les derniers éléments des deux listes ...