2

:last-of-type (as of v1.9) vs .last() (as of v1.4):どちらの方法も機能しますが、どれが効率に基づいてより良い方法であるか教えてください。JQueryを使用しているときに "last-of-type"または ".last()"を返す

例:

$(".item").last(); 

$(".item:last-of-type"); 

".last()"(バージョン1.4のような)の周りに長くなっています。 JQueryには「last-of-type」ビルトインがありますか、それとも単にCSSを利用してブラウザの機能を狙っているだけですか?誰でもこれを確認できますか?

これが該当する場合、「last-of-type」が適切であると思われます。

+1

なぜいくつかのjsperfテストを実行していませんか? – j08691

+0

一般に、jQueryセレクタは可能なときにネイティブセレクタを使用します。 – Barmar

+0

セレクタは2つの異なる選択肢を実行します。いいえ? – guest271314

答えて

4

.last()が高速です。

注、セレクタ

:last-of-type

異なる選択を行う最後の型セレクタ

説明: 同じ要素の兄弟のうちの最後のあるすべての要素を選択名。

.last()

.last()

説明: の最後の一組に整合要素の組を減らします。

console.time("lastOfType"); 
 
$(".item:last-of-type"); 
 
console.timeEnd("lastOfType"); 
 

 
console.time("last"); 
 
$(".item").last(); 
 
console.timeEnd("last");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
 
</script> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div> 
 
<div class="item"></div>

+0

私はその違いを理解しています。それを指摘してくれてありがとう。 「last()」がより効率的な理由を知っていますか? – JoePC

+0

'.last()'はセレクタまたはコレクションの最後の要素のみを選択します。 ':last-of-type'は複数の要素を選択できます。 – guest271314

+0

'$("。item:last ")' vs '$("。item ")。last()'を試しても、もっと遅くなっています。私はまだそれがなぜ遅くなるのかを実際には理解していません。 -/ – JoePC

関連する問題