0

拡張: https://stackoverflow.com/a/31047/235633

このカスタム jQuery 関数を拡張してコールバックを使用する方法はありますか? 基本的に、セレクターのリストを取得してその存在を検出できるようにしたいと考えています。存在する場合は、それらを表示する必要があります。

何千もの if ステートメントを記述する代わりに、コールバックと「this」を使用する 1 つの関数を記述します。

男は書いた:

jQuery.fn.exists = function(){return this.length>0;}

if ($(selector).exists()) {
    // Do something
}

しかし、私は必要です:

$('.selector1, .selector2, .selector3').exists(function({
    $(this).show();
});
4

3 に答える 3

3

jQuery はそれらをループします。

$('.selector1, .selector2, .selector3').show();

意図したとおりに動作するはずです。

于 2011-12-22T16:52:13.037 に答える
3

基本的に、存在するものを表示したいですか?その後、あなたはする必要はありません:)

$('.selector1, .selector2, .selector3').show();
于 2011-12-22T16:52:32.627 に答える
0

一般的なケースでは、これに.eachを使用できます。

$('.selector1, .selector2, .selector3').each(function({
  //some work involving $(this) 
});

ただし、この場合、showは一致したすべての要素に対して機能します。

$('.selector1, .selector2, .selector3').show();
于 2011-12-22T16:51:09.323 に答える