2011-08-02 3 views
0

これは可能かどうかを判断しようとしています。私は.find(':input:not(button)')関数を自分のコードに持っていて、button以外のものを除外しようとしています。だから私はこれを行う方法を探しています:.find(:input:not(button || otherthing)')。これは可能ですか?私は構文が正しくないことを知っているので、それは動作しませんが、私はあなたの一部がこれを行う方法を知っていることを望んでいます。ご協力いただきありがとうございます。jQuery:not()関数で「or」ステートメントを実行するにはどうすればよいですか?

答えて

2

あなたの代わりに、フィルタの機能を使用することができますに変換

$(element).find('input:not(button, otherthing)'); 

出典: http://api.jquery.com/not-selector/

+0

この関数はカンマで区切られたリストも受け入れます。 – BoltClock

0
:not(button):not(otherthing) 

は間違いなく動作します。 jQueryのもこの構文を受け入れるかもしれないが、それに私を持っていない:

:not(button,otherthing) 
+0

はい、jQueryはこの構文を受け入れますが、今のところjQueryのみです。 CSS4で強化された ':not()'擬似クラスは、単純/複合セレクタのリストを受け入れるために提案されています。 – BoltClock

0

はのは、我々はなら少しブール代数をやってみましょうか?はるかに簡単である

$(element).find('input').not('button').not('otherthing'); 

あなたもこれを行うことができます:

~(A OR B) = ~A AND ~B 

は、これは例えば、

.find('input:not(button)').filter('input:not(otherthing)') 
+1

あなたの2番目のfindは '.filter'でなければなりません。そうでなければ___always___は空のセットとなります –

+0

@cwolves:Heh good catch。一定。 – tskuzzy

+0

@RobertPitt:どうしますか?彼は 'NOT(ボタンか他のもの)'であるものにマッチさせたいと思っています。それは 'NOT(ボタン)AND NOT(その他)'であるものとのマッチングと同じです。 – tskuzzy

関連する問題