“:eq()”和.eq()之间的区别
我最近开始学习jQuery。 考虑到以下html结构,我想知道,选择器$('ul>li:eq(2)')
和$('ul>li').eq(2)
之间的基本区别是什么$('ul>li').eq(2)
。
- one
- two
- three
- four
- five
他们做同样的事情,但其中一个要慢得多: http : //jsperf.com/eq-vs-eq
:eq()
不是CSS伪选择器,它使第一个选择器成为jQuery选择器。 因此,它必须由Sizzle选择器库解析,该库是用JavaScript编写的。
第二个是常规的CSS选择器,将直接传递给document.querySelectorAll
,它是本地实现的,最终运行得更快。
除性能外,它们之间基本没有区别。 jQuery有许多方法等同于选择器。