/ /クラスのリストに一致する入力を選択する方法は? -jquery、jquery-selectors

クラスリストに一致する入力を選択するにはどうすればよいですか? - jquery、jquery-selector

このコードは必要に応じて機能します:

$("input[class="plus"], input[class="minus"]").mousedown(function () {
//..doing something
});

私が欲しかったのは次のようなものです:

$("input[class="plus minus"]").mousedown(function () {
//..doing something
});

または:

$("input[class="plus"][class="minus"]").mousedown(function () {
//..doing something
});

セレクタは、次のいずれかを持つ入力を選択する必要があります plus クラスまたは minus.

他の構文が必要ですが、構文はわかりません。

回答:

回答№1は1

お勧めします:

$("input.plus, input.minus").mousedown(function () {
//..doing something
});

...入力上の他のクラスがそれらをスキップさせないようにします。属性がセレクタに等しい場合( input[class="plus"])、次の場合にのみ一致します のみ クラス input"plus"。一致するだろう <input class="plus"> だがしかし <input class="plus foo">。通常、要素に他のクラスを持たせる柔軟性が必要です。

あるいは、あなたは できた これを行う:

$("input").filter(".plus, .minus").mousedown(...);

...しかし、それはあまり効率的ではないでしょう:最初にjQueryをルックアップします すべて input 要素を追加し、それらのクラスを持つものだけに結果を個別にフィルターします。だから私はそれをお勧めしません。


回答№2の場合は1

正しい構文では、指摘したようにセレクターをコンマで区切っていますが、セレクターは次のように記述する必要があります。

$("input.plus, input.minus").mousedown(function () {
//..doing something
});

最終的な代替手段として使用できます .add

$("input.plus")
.add($("input.minus"))
// possibly add more elements here
.mouseover(...);

回答№3の場合は1
$("input.plus, input.minus").mousedown(function () {
//..doing something
});

回答№4の場合は1

私はバインディングに行きます

$onInputMouseDown = function() {
....
}

$(".plus").bind("mousedown",$onInputMouseDown);
$(".minus").bind("mousedown",$onInputMouseDown);