我最近开始学习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>发布于 2013-12-15 08:03:37
他们做同样的事情,但其中一件要慢得多:http://jsperf.com/eq-vs-eq
:eq()不是CSS伪选择器,这使得第一个选择器成为jQuery选择器.因此,它必须由用JavaScript编写的Sizzle选择器库进行解析。
第二个是一个常规的CSS选择器,它将直接传递到document.querySelectorAll中,这是本机实现的,最终运行速度要快得多。
发布于 2013-12-15 07:59:58
它们之间没有本质上的区别,只是在性能上。jQuery有许多与选择器等价的方法。
https://stackoverflow.com/questions/20592427
复制相似问题