ul-listにクラスを追加したいが、クラスが存在しない場合にのみ追加する。 これは私がこれまで持っているものです。クラスがulタグに存在する場合、jqueryでどのようにチェックするのですか?jqueryを介してクラスを追加するが、存在しない場合のみ
$("ul").addClass("bbox");
ul-listにクラスを追加したいが、クラスが存在しない場合にのみ追加する。 これは私がこれまで持っているものです。クラスがulタグに存在する場合、jqueryでどのようにチェックするのですか?jqueryを介してクラスを追加するが、存在しない場合のみ
$("ul").addClass("bbox");
特定のクラスは、その後、存在する場合は、チェックしたい場合:
if(!$("ul").hasClass("class-name")){
$("ul").addClass("bbox");
}
任意のクラスが存在するかどうかをチェックしたい場合は、次の簡潔
if ($('ul').attr('class') == '') {
$("ul").addClass("bbox");
}
:
// fine, because nothing happens if
// there are no matching elements
$("ul[class='']").addClass("bbox");
素敵で短いです! – lucapette
クラスにaboxがあり、bboxを追加しようとしていると動作しません。 Mattのソリューションはこの問題を解決します。 –
karim79あなたはほとんどそれを手に入れました!
は、私はあなたが絶対無いクラスとタグと一致し、ULが他のクラスを持っていた場合はマッチングが行われることはないあなたに
$("ul:not([class*='bbox'])").addClass("bbox");
を修正してみましょう。追加したいクラスを正確に検索する必要があります。 .hasClassと同じように。
はそれが私はこれが正常に動作します思っていた
もし私が間違っていないなら、あなたは属性セレクターのまわりを括弧で忘れてしまった。また、 '$(" ul:not([class = = 'bbox']) ")。addClass(" bbox ");'は良い(チルダ)でしょう。 – Bart
を役に立てば幸い - >
$("ul").removeClass("bbox").addClass("bbox")
。
まず、あるものがあれば削除し、新しいものを追加します。私はあまりにも怠けているので、すべての入力をif
と言って私のために最善を尽くした。
あなたは
$('.your-dom:not(.class-name)').addClass('class-name');
存在しない場合だけ$('.selector').addClass("myClass");
を使用する場合にのみ、クラスを追加するために、このコードを使用することができます。
jQueryのadd/removeクラス関数は、内部的に重複をチェックします。つまり、addClass
を2回呼び出すと、クラスが1回追加されます。
jQueryドキュメント:https://api.jquery.com/addclass/このメソッドはクラスを置き換えるものではありません。要素を既に割り当てられているクラスに追加するだけで、クラスを追加するだけです。 – vanduc1102
私はこの方法を使用する2つのクラス
if (foo)
$('button.btn-foo').removeClass('foo bar').addClass('foo');
if (bar)
$('button.btn-foo').removeClass('foo bar').addClass('bar');
の間でトグルしていた場合はだから私はボタン
の現在の設定を確認する必要はありませんクラスが持っているかどうかを確認する必要はありませんすでに追加されています。 '.addClass'は' .hasClass'チェックを内部的に行います。参照:http://stackoverflow.com/questions/13358887 –