我最近开始学习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>
答案 0 :(得分:11)
他们做同样的事情,但其中一个明显变慢:http://jsperf.com/eq-vs-eq
:eq()
不是CSS伪选择器,它使第一个选择器成为jQuery选择器。因此,它必须由Sizzle选择器库解析,该库是用JavaScript编写的。
第二个是常规CSS选择器,将直接传递到document.querySelectorAll
,这是本地实现的,最终运行得更快。
答案 1 :(得分:1)
除性能外,它们之间基本没有区别。 jQuery有许多方法等同于选择器。