2016-03-24 4 views
1

に同じクラスを削除します。jQueryのは、ここでのコードだ複数のID</p> <p>に同じクラスを削除しようとする私は、複数のIDが

var test = ['#step-1','#step-2','#step-3']; 

$(test).removeClass('active-step'); 

問題だis..whatこれに動作していない、私の質問は、かこれを行うより良い方法はありますか?

+0

$( '[ID^=ステップ]')removeClass( "アクティブ工程")。 –

+0

それは単なる文字列ではないでしょうか? #(#step-1、#step-2、#step-3).... – paullb

+0

JqueryセレクタはCSSセレクタと同じ働きをします –

答えて

1

あなたはIDステップで始まるすべての要素のクラスを削除したい場合は、あなたの要件がアクティブcalssesを削除し、アクティブを追加することです属性セレクタ

$("[id^='step']").removeClass('active-step'); 

私の事を開始^を使用することができます特定の要素のクラス、そしてあなたも、このように使用することができ、

$(".active-step").removeClass('active-step'); 
7

multiple selectorとしてその配列をフレームに試してみてください10
var test = ['#step-1','#step-2','#step-3']; 
$(test.join()).removeClass('active-step'); 

documentationによれば、.join()は、区切り文字として指定されていない場合はカンマ(,)を使用して配列の要素をマージします。したがって、この例では、このシグネチャは複数のセレクタを作成するのに便利です。

セパレータ:任意です。配列 の各要素を区切る文字列を指定します。セパレータは必要に応じて文字列に変換されます。 が省略された場合、配列要素はコンマで区切られます。セパレータ が空の文字列である場合、すべての要素は、その間に の文字なしで結合されます。

+3

これは私にとって最善の答えのようです。 idは何かで始まる可能性があり、これが原因です。 – Lewis

+1

$(test.join())、この部分は実際に $( '#step-1、#step-2、#step-3')のように同じことをしています – brk

3

これは、複数のIDを選択する正しいjQueryの構文である:。

$('#step-1, #step-2, #step-3').removeClass('active-step');

関連する問題