2009-08-27 14 views
1

の組み合わせ:私は次の構文を使用してjQueryのセレクタを持ってANDとOR jQueryのセレクタで

$('input[type=image]').not('.xyzClass').click(function{ 
    //some functionality 
}); 

だから、これは型のイメージのあるすべてのコンポーネントの特定のクリックの機能を置き、クラスxyzClassを持っていません。

*****最新の変更を反映するように質問を変更しました。以下の回答の一部は以前のバージョンには正しいが、修正されたバージョンには正しくない可能性があります。それについての謝罪。

クラス条件でOR条件が必要です。

  1. クラスはidは文字列someIdString

はあなたが修正を助けてもらえ含まxyzClass OR

  • されていない場合は、画像のように型を有する「入力」である 任意のコンポーネントは、選択されるべきであることを、このような既存のセレクタで?

    乾杯。私はあなたががonclickのを定義しているかどうかはわかりません

    $('input[type=image]') 
        .not(".xyzClass,[onclick*='someSpecificFunctionality()']") 
        .click(...); 
    

    :「OR」カンマを使用を行うには

  • 答えて

    2

    は答え、あなたの更新のために質問

    $('*:not(.xyzClass)[id*=containsThisValue]') 
    

    、これが最適化されていないが、私はあなたができる限り多くを指定推薦を更新しました。

    オリジナルの答え:

    function someSpecificFunctionality() { 
    } 
    
    $(els) 
    
    .click(someSpecificFunctionality) 
    .data('someSpecificFunctionality', true) 
    
    
    $(els).filter(function() { 
    
        return 
         $(this).not('.xyzClass') && 
         $(this).data('someSpecificFunctionality') == true 
    
    }); 
    
    +0

    答えとしてこれを受け入れることは、私が将来もっと多くの条件を持つかもしれないと考えるより柔軟な方法です。 – Priyank

    0

    は、それはあなたのHTMLであるか、プログラムで追加されましたか?

    +0

    が、これはまた、第二の条件ではない "のonClick" のチェックを入れます。ではない?それは私たちが求めている解決策ではありません。 – Priyank

    +0

    ああ - 質問は元の形で少し曖昧でした。 – nickf

    2
    $(":image:not(.xyzClass),:image[onclick*='someSpecificFunctionality']"); 
    
    +0

    ありがとうございます。それは正しい答えを得るのを助けました。 – Priyank

    関連する問題