2011-03-23 67 views
2

我不確定「緩存」對於這個緩存是否正確。也許我應該使用「實例化」。不過,說我要「緩存」幾個對象,以節省一些資源:在jQuery中隱藏緩存的對象

var $foo = $("#foo"), 
$bar = $("#bar"); 

現在,如果我想隱藏起來,我可以用一個班輪代替:

$foo.hide(); 
$bar.hide(); 

我認爲這個很簡單(讀:「愚蠢」),但嘿...我不能自己弄清楚...

+1

隱藏你試過嗎? (是的,你可以) – 2011-03-23 13:32:22

+0

http://www.bash.org/?3936 =) – aL3xa 2011-03-23 14:12:45

回答

4

您還可以使用.add()捲起一堆jQuery對象和選擇的:

$foo.add($bar).add('.someclass').add($other_objects_or_selectors).hide(); 
+0

感謝'.add()'。它拯救了一天! =) – aL3xa 2011-03-23 14:13:50

0

你可以有多個選擇器在jQuery中用逗號分隔:

$("#foo, #bar").hide(); 
+0

當然,但我想結合實例化的對象,像'$。($ foo,$ bar).hide()' – aL3xa 2011-03-23 14:04:15

1

你可以使用這樣的事情:

$.each([$foo, $bar], function(i, v) { 
    v.hide(); 
}); 
0

如果你這樣做了很多的ID,也許做類似的東西:

items = ['foo', 'bar']; 
cache = {}; 
$.each(items, function(i,key) { 
    cache[key] = $('#' + key); 
    cache[key].hide(); 
}); 

然後稍後訪問'緩存'像cache['foo']

0

定義一個類爲所有這些元素,然後由類

$('#foo').addClass('toHide'); 
//Later 
$('.toHide').filter(':visible').hide(); 
+0

類選擇器比id選擇器慢。我總是可以定義一個班,但這是一個不可能的恕我直言。 – aL3xa 2011-03-23 14:10:10