1
A
回答
1
在jQuery 1.4中,检查选择器是否是id
选择器(如#p1
)。
- 如果确实如此,调用
document.getElementId(...)
并将结果包装在jQuery实用程序对象中并返回。 - 如果除此之外的任何东西,jQuery调用Sizzle,然后它会执行任何操作来查找元素。而从源头来看,这是非常不平凡的东西。
1
,最好的办法是测试!
从这个简单的测试:
- 内容 -
<p id="p1"><span>Test</span></p>
- 循环100,000次
版本:jQuery的1.4.2
$('#p1').find('span');
:2601ms$('#p1 span');
:1998ms
看起来,在这种情况下单个选择器更快,因为你没有通过jQuery进行多次调用,这是有道理的。
Give it a try here, look at your console。
在CAE你介绍jQuery 1.3.2这里的那些结果:
$('#p1').find('span');
:3225ms$('#p1 span');
:2082ms
+0
+1为jsFiddle – Homer 2010-08-26 19:50:08
0
就你而言,#1可能比#2更快,但取决于有多少迭代以及要搜索多少个元素,#2在其他情况下可能比#1更快。
例如:我猜如果你在#p1
中有3 span
元素而没有其他元素,那么#1会比#2更快,因为find并没有试图做尽可能多的CSS匹配。但是,如果您有1000 span
元素以及#p1
中的2000个其他元素,我会下注#2会更快,因为它不必遍历每个元素两次。
相关问题
- 1. jQuery父选择器
- 2. JQuery缩写多个父代选择器
- 3. jQuery - 在选择器内选择父项
- 4. 父亲的jQuery选择器
- 5. jQuery - 父母选择器
- 6. jquery选择器:父问题
- 7. Jquery父子选择器
- 8. 选择器jquery后
- 9. jQuery - 后代的不同选择器?
- 10. jquery后代选择器问题
- 11. 使用jQuery选择父母后的div
- 12. jQuery/CSS后代选择器选择太多
- 13. JQuery的父()选择
- 14. jQuery的父()( “选择”)
- 15. jquery最后选择选择器的值
- 16. jquery live on:选择器后
- 17. 使用节点选择祖父母选择它的后代
- 18. jquery中的父类选择器
- 19. jQuery选择器 - 父母问题
- 20. CSS选择器 - 如果child class =?然后选择父
- 21. 使用jQuery选择器从父类CLASS选择孩子
- 22. jquery选择器 - 选择父母但不是孩子
- 23. 添加父的jQuery选择
- 24. jQuery选择了.parent()父()
- 25. jQuery的:选择问题(父)
- 26. JQuery的父ID选择
- 27. PHP,jQuery的,选择父DIV
- 28. jQuery:选择祖父母
- 29. 的jQuery选择父问题
- 30. CSS性能 - 后代选择器与类选择器
是吗?打败我。 – David 2010-08-18 18:54:24