我总是保存find()
的结果,以便在多次需要该值时避免遍历多个子树:
var $a_bar = $('div.foo').find('a.bar');
$a_bar.removeClass(...);
// ... code here
$a_bar.bazz();
代替
$('div.foo').find('a.bar').removeClass(...);
// ... code here
$('div.foo').find('a.bar').bazz();
我想知道这是否不是微优化...那么在
JQuery
中查找节点的成本/复杂性是多少? 最佳答案
您可以在js perf上对其进行测试:http://jsperf.com/
只需创建一个测试并运行它。
我在这里创建了一个小测试:http://jsperf.com/jquery-find55
在我的浏览器(Firefox 18)上:
因此,是的,
find
很“慢”,将其存储在变量中绝对是个好主意。关于javascript - 在JQuery中查找节点的成本是多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14464057/