【发布时间】:2012-04-20 18:15:49
【问题描述】:
当我需要在函数范围内多次访问 jQuery 选择器的结果时,是否建议我运行一次选择器并将其分配给局部变量?
请原谅我在这里的陈词滥调,但我认为它说明了这个问题。 那么,这段代码会执行得更快吗:
var execute = function(){
var element = $('.myElement');
element.css('color','green');
element.attr('title','My Element');
element.click(function(){
console.log('clicked');
});
}
比这段代码:
var execute = function(){
$('.myElement').css('color','green');
$('.myElement').attr('title','My Element');
$('.myElement').click(function(){
console.log('clicked');
});
}
如果没有区别,谁能解释为什么? jQuery 是否会在选择元素后缓存元素,以便后续选择器不必费心再次搜索 dom?
【问题讨论】:
-
感谢大家的回答,希望能全部采纳
标签: jquery performance caching jquery-selectors