[英]JQuery 1.3+ Selector Performance
我刚刚创建了一个jQuery选择器性能测试页面。 http://guhelouis.github.com/jquery_performance/
有10000个div,其类名称从.div-cl-1到.div-cl-10000。 我正在尝试使用2个不同的选择器来获取.div-cl-9999:
您可能会猜到第一个比第二个要快。 但是,请在http://guhelouis.github.com/jquery_performance/中查看结果(按“ 运行它”按钮,对不起,但是有点慢),第一个结果将始终是第一个结果要慢于第二个结果。
如果您颠倒了运行顺序,则表示:
结果再次恢复正常。
新的jquery选择器引擎内部是否存在某种“索引编制”功能?
PS:这些奇怪的结果仅在使用jQuery 1.3+(JQuery开始使用Sizzle的时间)时发生。
两者都是不同的选择器。
$('div.div-cl-1') // select all div elements with class "div-cl-1"
$('.div-cl-1') // select all elements with class "div-cl-1"
例如:第一个不会选择类似
<p>
<span class="div-cl-1">test</span>
</p>
编辑:刚发现这个-http: //jsperf.com/jquery-selector-speed-tests
我不确定jQuery,但是如果您不指定指定类的标记名,则选择css的速度会更快,因为css首先查看类名,然后检查该元素是否为指定的标记。 假设jQuery使用浏览器的本机查询选择器或类选择器(如果存在),则第一个选择器将变慢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.