":eq()"和.eq()之间的区别

Man*_*ish 12 jquery

我最近开始学习jQuery.考虑到以下html结构,我想知道,选择器$('ul>li:eq(2)')和选择器之间的基本区别是什么$('ul>li').eq(2).

<ul>
    <li>one</li>
    <li>two</li>
    <li>three</li>
    <li>four</li>
    <li>five</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

Ble*_*der 11

他们做同样的事情,但其中一个要慢得多:http://jsperf.com/eq-vs-eq

:eq()不是CSS伪选择器,它使第一个选择器成为jQuery选择器.因此,它必须由Sizzle选择器库解析,该库是用JavaScript编写的.

第二个是常规的CSS选择器,将直接传递给它document.querySelectorAll,这是本机实现的,最终运行得更快.