我最近開始學習jQuery。考慮到以下html結構,我想知道,選擇器$('ul>li:eq(2)')
和$('ul>li').eq(2)
之間的基本區別是什麼。「:eq()」和.eq()的區別
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
<li>five</li>
</ul>
我最近開始學習jQuery。考慮到以下html結構,我想知道,選擇器$('ul>li:eq(2)')
和$('ul>li').eq(2)
之間的基本區別是什麼。「:eq()」和.eq()的區別
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
<li>five</li>
</ul>
他們做同樣的事情,而是一個顯著慢是:http://jsperf.com/eq-vs-eq
:eq()
不是CSS僞選擇,這使得第一選擇一個jQuery選擇。因此,它必須由用JavaScript編寫的Sizzle選擇器庫進行分析。
第二個是一個常規的CSS選擇器,將直接傳遞到document.querySelectorAll
,這是本地實現的,最終運行速度會更快。
他們之間基本上沒有區別,除了表現。 jQuery有很多方法等價於選擇器。