对于我的项目,我使用缓存选择器来加速,并看到改进:(减少文档中的搜索)
var sel1 = $('#selector1');
var sel2 = $('#selector2');在这种情况下,我如何使用缓存的选择器?对于ex:
$('#selector1, #selector2').fadeTo(300, 1, 'linear');它只是用来润色我的代码
Ty :)
发布于 2011-12-16 04:37:39
您可以使用.add()将元素添加到匹配的元素集合中:
sel1.add(sel2).fadeTo(300, 1, 'linear');.add()文档:http://api.jquery.com/add
.add()可以接收:
使用context ($('<selector>', <context>))
您还可以将DOM元素数组传递给jQuery:
var one = $('#one')[0],
two = $('#two')[0];
$([one, two]).fadeTo(300, 1, 'linear');这是一个演示:http://jsfiddle.net/3xJzE/
更新
我创建了一个包含三种不同方法的http://jsperf.com/jquery-fadeto-once-vs-twice:$([one, two]).fadeTo...(似乎使用数组选择器是最快的)
发布于 2011-12-16 04:37:17
你可以使用.add()方法来实现;
sel1.add(sel2).fadeTo(300, 1, 'linear');如果在命名变量时添加$前缀,效果会更好。这样你就可以将它们与standart javascript对象区分开来。所以这样更好:
var $sel1 = $('#selector1');
var $sel2 = $('#selector2');
$sel1.add($sel2).fadeTo(300, 1, 'linear');发布于 2011-12-16 04:37:21
jQuery的add
sel1.add(sel2).fadeTo(300, 1, 'linear');https://stackoverflow.com/questions/8526226
复制相似问题