我总是保存结果,find()以避免多次子树遍历,如果我需要多次值:
var $a_bar = $('div.foo').find('a.bar');
$a_bar.removeClass(...);
// ... code here
$a_bar.bazz();
Run Code Online (Sandbox Code Playgroud)
代替
$('div.foo').find('a.bar').removeClass(...);
// ... code here
$('div.foo').find('a.bar').bazz();
Run Code Online (Sandbox Code Playgroud)
我想知道它是不是微优化......那么找到一个节点的成本/复杂度是JQuery多少?
你可以在js perf上测试它:http://jsperf.com/ 只需创建一个测试并运行它.
我在这里创建了一个小测试:http://jsperf.com/jquery-find55
在我的浏览器上(firefox 18):
所以,是的,find是"慢",将它存储在一个变量中绝对是一个好主意.
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |