>  기사  >  웹 프론트엔드  >  jquery 선택기 :last와 :last-child의 차이점

jquery 선택기 :last와 :last-child의 차이점

黄舟
黄舟원래의
2017-06-23 15:08:202628검색

오늘 $("ul li:last-child").offset().top을 작성했는데 오류가 발견되었는데 $("ul li").last().offset().top이 정확했습니다. 그 이유는 다음과 같습니다.
두 선택자는 컬렉션의 마지막 요소와 일치합니다. 차이점은 :last가 모든 컬렉션의 마지막 요소와 일치한다는 것입니다. 그리고 :last-child는 컬렉션의 모든 마지막 하위 요소와 일치합니다. :last는 항상 하나의 요소를 반환하는 반면, :last-child는 여러 요소를 반환할 수 있습니다.
바로 그거야!

: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").

:last-child:

부모의 마지막 자식인 모든 요소를 ​​선택합니다.

<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");
});

두 선택자는 집합의 마지막 요소와 일치합니다. 차이점은:last가 집합의 모든 요소와 일치한다는 것입니다. 의 마지막 요소입니다. 그리고 :last-child는 컬렉션의 모든 마지막 하위 요소와 일치합니다. :last는 항상 하나의 요소를 반환하는 반면, :last-child는 여러 요소를 반환할 수 있습니다.

$('div p:last')는 마지막 P 요소를 선택하고 강조 표시합니다. 결과는 다음과 같습니다.

<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>

$('div p:last-child')는 다음에 있는 모든 p 하위 요소를 선택합니다. 마지막 div 및 하이라이트:

<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>

위 내용은 jquery 선택기 :last와 :last-child의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.