我不确定“缓存”是否适用于此版本。也许我应该使用“实例化”。但是,我想要“缓存”几个对象,以节省一些资源:
var $foo = $("#foo"),
$bar = $("#bar");
现在,如果我想隐藏它们,我可以使用单行代码而不是:
$foo.hide();
$bar.hide();
我认为这个很简单(读作:“愚蠢”),但是嘿......我不能自己解决这个问题......
答案 0 :(得分:4)
您还可以使用.add()
汇总一堆jQuery对象和选择器:
$foo.add( $bar ).add('.someclass').add( $other_objects_or_selectors ).hide();
答案 1 :(得分:1)
你可以使用这样的东西:
$.each([$foo, $bar], function(i, v) {
v.hide();
});
答案 2 :(得分:0)
您可以在jQuery中使用逗号分隔多个选择器:
$("#foo, #bar").hide();
答案 3 :(得分:0)
如果您为许多身份证明这样做,可能会执行以下操作:
items = ['foo', 'bar'];
cache = {};
$.each(items, function(i,key) {
cache[key] = $('#' + key);
cache[key].hide();
});
然后稍后访问“缓存”,如cache['foo']
。
答案 4 :(得分:0)
为所有这些元素定义一个类,然后按类隐藏
$('#foo').addClass('toHide');
//Later
$('.toHide').filter(':visible').hide();