私は最近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()
は、第1のセレクタjQueryのセレクタを作るCSS擬似セレクター、ではありません。したがって、それはJavaScriptで書かれたSizzleセレクタライブラリによって解析されなければなりません。
2番目のCSSセレクタは通常のCSSセレクタで、document.querySelectorAll
に直接渡されます。これはネイティブで実装されているため、はるかに高速に実行されます。
パフォーマンスを除いて、基本的に違いはありません。 jQueryには、セレクタに相当する多くのメソッドがあります。