Heim > Web-Frontend > js-Tutorial > Der Unterschied zwischen dem JQuery-Selektor :last und :last-child

Der Unterschied zwischen dem JQuery-Selektor :last und :last-child

黄舟
Freigeben: 2017-06-23 15:08:20
Original
2648 Leute haben es durchsucht

Heute habe ich $("ul li:last-child").offset().top geschrieben und einen Fehler gefunden, und $("ul li").last().offset() .top genau Das stimmt. Der Grund ist:
Beide Selektoren stimmen mit dem letzten Element in der Sammlung überein. Der Unterschied besteht darin, dass :last mit dem letzten Element in allen Sammlungen übereinstimmt. Und :last-child stimmt mit allen letzten untergeordneten Elementen in der Sammlung überein. :last gibt immer ein Element zurück, während :last-child möglicherweise einen Stapel von Elementen zurückgibt.
Das ist es!

: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").
Nach dem Login kopieren

:last-child:

Wählt alle Elemente aus, die das letzte untergeordnete Element ihres übergeordneten Elements sind.

<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");
});
Nach dem Login kopieren

Beide Selektoren sind übereinstimmende Mengen. Das letzte Element in Der Unterschied besteht darin, dass :last mit dem letzten Element in allen Sätzen übereinstimmt. Und :last-child stimmt mit allen letzten untergeordneten Elementen in der Sammlung überein. :last gibt immer ein Element zurück, während :last-child möglicherweise einen Stapel von Elementen zurückgibt.

$('div p:last') wählt das letzte P-Element aus und hebt es hervor. Das Ergebnis ist wie folgt:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

$('div p:last-child') Wählt alle p untergeordneten Elemente aus, die sich im letzten Div befinden, und markiert:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen dem JQuery-Selektor :last und :last-child. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage