我可以想象基于理论的正确答案,但我只是在寻找一些确认。我想知道重用jQuery选择的元素最有效的方法是什么。例如:
$('#my_div').css('background','red');
//some other code
$('#my_div').attr('name','Red Div');与
myDiv = $('#my_div');
myDiv.css('background','red');
//some other code
myDiv.attr('name','Red Div');我假设第二个示例更有效,因为元素#my_div不需要多次找到。对吗?
类似地,首先将$(this)保存在变量中,例如'obj',然后重用'obj‘而不是反复使用$(this),是不是更有效?在这种情况下,jQuery不会被强制一遍又一遍地查找元素,但它被强制将其转换为一个jQuery对象$( this )。因此,通常的经验法则是,如果jQuery对象将被多次使用,那么它是否应该始终存储在变量中?
发布于 2011-03-29 00:10:46
这也适用于将jQuery函数应用于事件处理程序中返回的元素。尽量避免应用$(...)太多次了,因为这太慢了。而是创建一个包含$(...)结果的变量。一种好的做法是以$开始变量,这会给出有关变量内部的jQuery对象的提示。
$('a').click(function(){
var $this = $(this);
$this.addClass("clicked");
$this.attr("clicked", true);
});https://stackoverflow.com/questions/5461755
复制相似问题