2

「キャッシュ」がこれの正しい用語であるかどうかはわかりません。代わりに「インスタンス化」を使用する必要があるかもしれません。ただし、いくつかのリソースを節約するために、いくつかのオブジェクトを「キャッシュ」したいとします。

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

さて、それらを非表示にしたい場合は、次の代わりにワンライナーを使用できますか?

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

これはとてもシンプルだと思いますが(「バカ」と読んでください)、ちょっと...自分ですべてを理解することはできません...

4

5 に答える 5

4

.add()一連のjQueryオブジェクトとセレクターをロールアップするために使用することもできます。

$foo.add( $bar ).add('.someclass').add( $other_objects_or_selectors ).hide();
于 2011-03-23T13:38:02.130 に答える
1

次のようなものを使用できます。

$.each([$foo, $bar], function(i, v) { 
  v.hide(); 
});
于 2011-03-23T13:34:43.587 に答える
0

jQueryでは複数のセレクターをコンマで区切ることができます。

$("#foo, #bar").hide();
于 2011-03-23T13:32:18.117 に答える
0

多くのIDに対してこれを行っている場合は、次のようなことを行ってください。

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

その後、のように「キャッシュ」にアクセスしますcache['foo']

于 2011-03-23T13:39:09.893 に答える
0

これらすべての要素のクラスを定義してから、クラスで非表示にします

$('#foo').addClass('toHide'); 
//Later
$('.toHide').filter(':visible').hide();
于 2011-03-23T13:46:45.243 に答える