Maison > interface Web > js tutoriel > La différence entre le sélecteur jquery :last et :last-child

La différence entre le sélecteur jquery :last et :last-child

黄舟
Libérer: 2017-06-23 15:08:20
original
2648 Les gens l'ont consulté

Aujourd'hui, j'ai écrit $("ul li:last-child").offset().top et j'ai trouvé une erreur, et $("ul li").last().offset() .top C'est vrai. La raison est la suivante :
Les deux sélecteurs correspondent au dernier élément de la collection. La différence est que :last correspondra au dernier élément de toutes les collections. Et :last-child correspondra à tous les derniers éléments enfants de la collection. :last renverra toujours un élément, tandis que :last-child peut renvoyer un lot d'éléments.
C'est ça !

:last Selects the last matched element.
Note that :last selects a single element by filtering the current jQuery collection and matching the last element within it.
Additional Notes:
Because :last is a jQuery extension and not part of the CSS specification, queries using 
:last cannot take advantage of the performance boost provided by the native DOM querySelectorAll() method. 
To achieve the best performance when using :last to select elements, first select the elements using a pure CSS selector, then use.filter(":last").
Copier après la connexion

:last-child :

Sélectionne tous les éléments qui sont le dernier enfant de leur parent.

<div>
<span>John,</span>
<span>Karl,</span>
<span>Brandon,</span>
<span>Sam</span>
</div>
<div>
<span>Glen,</span>
<span>Tane,</span>
 
<span>Ralph,</span>
<span>David</span>
</div>
<script>
$("div span:last-child")
.css({color:"red", fontSize:"80%"})
.hover(function () {
$(this).addClass("solast");
}, function () {
$(this).removeClass("solast");
});
Copier après la connexion

Les deux sélecteurs correspondent à des ensembles Le dernier élément de l'ensemble, la différence est que :last correspondra au dernier élément de tous les ensembles. Et :last-child correspondra à tous les derniers éléments enfants de la collection. :last renverra toujours un élément, tandis que :last-child peut renvoyer un lot d'éléments.

$('div p:last') sélectionne le dernier élément P et le met en surbrillance. Le résultat est le suivant :

<div>
<p>Paragraph</p>
<p>Paragraph</p>
<p>Paragraph</p>
</div>
<div>
<p>Paragraph</p>
<p>Paragraph</p>
<p>Paragraph</p>
</div>
<div>
<p>Paragraph</p>
<p>Paragraph</p>
<p>Paragraph</p>
</div>
Copier après la connexion
Copier après la connexion

$('div p:last-child') sélectionnera tous les p sous-éléments situés à la fin du div et mettra en surbrillance :

<div>
<p>Paragraph</p>
<p>Paragraph</p>
<p>Paragraph</p>
</div>
<div>
<p>Paragraph</p>
<p>Paragraph</p>
<p>Paragraph</p>
</div>
<div>
<p>Paragraph</p>
<p>Paragraph</p>
<p>Paragraph</p>
</div>
Copier après la connexion
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal