web-dev-qa-db-ja.com

jQueryで複数のクラスを選択する

私はよく見て、特定のクラスに一致するすべての要素を次のような1つのjQueryセレクターステートメントで選択する方法を見つけることができないようです。

$('.myClass', '.myOtherClass').removeClass('theclass');

これを達成する方法についてのアイデアはありますか?他の唯一のオプションは

$('.myClass').removeClass('theclass');
$('.myOtherClass').removeClass('theclass');

しかし、私はこれをかなりの数のクラスで行っているため、多くのコードが必要です。

214
Kezzer

これは動作するはずです:

$('.myClass, .myOtherClass').removeClass('theclass');

$()の最初の引数に複数のセレクターをすべて追加する必要があります。そうしないと、jQueryに検索対象のコンテキストが与えられますが、これは望みのものではありません。

CSSで行うのと同じです。

391
Erik Bakker

これを試しましたか?

$('.myClass, .myOtherClass').removeClass('theclass');
26
Ionuț G. Stan

$('.myClass.myOtherClass').removeClass('theclass');を使用します

24
Adman
// Due to this Code ): Syntax problem.    
$('.myClass', '.myOtherClass').removeClass('theclass'); 

JQueryドキュメントによると: https://api.jquery.com/multiple-selector/

この方法で複数のクラスを選択できる場合:

jQuery(“selector1, selector2, selectorN”) // double Commas. // IS valid.
jQuery('selector1, selector2, selectorN') // single Commas. // Is valid.

すべてのセレクターを単一の「...」または二重コンマ「...」で囲むことにより

したがって、あなたの場合、複数のクラスを呼び出す正しい方法は次のとおりです。

$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass');  // Correct Code // Is valid.
0
Rehan Shah