Dan*_*Dan 54 javascript jquery jquery-selectors
哪个更适合用作性能视角:
$(".div1 h2, .div1 h3")
Run Code Online (Sandbox Code Playgroud)
要么
$(".div1").find("h2, h3")
Run Code Online (Sandbox Code Playgroud)
Jam*_*gne 49
http://jsperf.com/selector-vs-find-again
选择器更快
(注意:组成随机html只是因为它不仅仅是页面上的那些元素)
zzz*_*Bov 35
你的问题的答案是:是的.
除非你的代码很慢,否则不要担心性能差异.如果是,请使用分析器确定瓶颈.
从分析的角度来看:
$(".div1 h2, div1 h3")
Run Code Online (Sandbox Code Playgroud)
应该更快,因为jQuery将通过它querySelectorAll(如果它存在)并且本机代码将比非本机代码运行得更快.它还可以节省额外的函数调用.
$(".div1").find("h2, h3")
Run Code Online (Sandbox Code Playgroud)
如果你计划链接其他一些功能,那就更好了.div1:
$(".div1").find("h2, h3").addClass('foo').end().show();
Run Code Online (Sandbox Code Playgroud)
小智 17
其实,.find()CAN更快.
在尝试选择多个元素时,选择器似乎更快找到; 但是,如果您使用$ .find,甚至缓存后代,您可以看到它更快:http: //jsperf.com/selector-vs-find-again/11
我也不同意表现不重要.在这个智能手机的世界里,电池寿命是王道.
| 归档时间: |
|
| 查看次数: |
30699 次 |
| 最近记录: |