我不确定“缓存”是否是这个的正确术语。也许我应该改用“实例化”。但是,假设我想“缓存”几个对象,以节省一些资源:
var $foo = $("#foo"),
$bar = $("#bar");
现在,如果我想隐藏它们,我可以使用单线代替:
$foo.hide();
$bar.hide();
我认为这个很简单(读作:“愚蠢”),但是嘿......我自己无法弄清楚......
我不确定“缓存”是否是这个的正确术语。也许我应该改用“实例化”。但是,假设我想“缓存”几个对象,以节省一些资源:
var $foo = $("#foo"),
$bar = $("#bar");
现在,如果我想隐藏它们,我可以使用单线代替:
$foo.hide();
$bar.hide();
我认为这个很简单(读作:“愚蠢”),但是嘿......我自己无法弄清楚......
您还可以使用.add()
汇总一堆 jQuery 对象和选择器:
$foo.add( $bar ).add('.someclass').add( $other_objects_or_selectors ).hide();
你可以使用这样的东西:
$.each([$foo, $bar], function(i, v) {
v.hide();
});
为所有这些元素定义一个类,然后被该类隐藏
$('#foo').addClass('toHide');
//Later
$('.toHide').filter(':visible').hide();
如果您要为许多 id 执行此操作,则可以执行以下操作:
items = ['foo', 'bar'];
cache = {};
$.each(items, function(i,key) {
cache[key] = $('#' + key);
cache[key].hide();
});
然后稍后访问“缓存”,如cache['foo']
.
您可以在 jQuery 中使用逗号分隔多个选择器:
$("#foo, #bar").hide();