对于我的项目,我使用缓存选择器来加快速度,并看到改进:(减少文档内的搜索)
var sel1 = $('#selector1');
var sel2 = $('#selector2');
在这种情况下如何使用缓存选择器?例如:
$('#selector1, #selector2').fadeTo(300, 1, 'linear');
只是为了完善我的代码
泰:)
对于我的项目,我使用缓存选择器来加快速度,并看到改进:(减少文档内的搜索)
var sel1 = $('#selector1');
var sel2 = $('#selector2');
在这种情况下如何使用缓存选择器?例如:
$('#selector1, #selector2').fadeTo(300, 1, 'linear');
只是为了完善我的代码
泰:)
您可以使用.add()
“将元素添加到匹配元素集”:
sel1.add(sel2).fadeTo(300, 1, 'linear');
文档.add()
:http ://api.jquery.com/add
.add()
可以接受:
$('<selector>', <context>)
)您还可以将 DOM 元素数组传递给 jQuery:
var one = $('#one')[0],
two = $('#two')[0];
$([one, two]).fadeTo(300, 1, 'linear');
这是一个演示:http: //jsfiddle.net/3xJzE/
更新
我创建了当前答案的三种不同方法的 jsperf:http://jsperf.com/jquery-fadeto-once-vs-twice (似乎使用数组选择器是最快的$([one, two]).fadeTo...
:)
您可以为此使用.add()
方法;
sel1.add(sel2).fadeTo(300, 1, 'linear');
$
如果在命名变量时添加前缀会很好。通过这种方式,您可以将它们与标准 javascript 对象区分开来。所以这更好:
var $sel1 = $('#selector1');
var $sel2 = $('#selector2');
$sel1.add($sel2).fadeTo(300, 1, 'linear');
jQuery的添加
sel1.add(sel2).fadeTo(300, 1, 'linear');
如果您已经存储了选择器,只需将 fadeTo 分别应用于每个选择器。无论如何,JQuery 只需要解析选择器......
sel1.fadeTo(300, 1, 'linear');
sel2.fadeTo(300, 1, 'linear');
试试这个
sel1.add(sel2).fadeTo(300, 1, 'linear');