複数のクラスの削除(jQuery)


615

これを書き換えるより良い方法はありますか?

$('element').removeClass('class1').removeClass('class2');

removeClass();不要なすべてのクラスが削除されるため、使用できません。

回答:


1128
$("element").removeClass("class1 class2");

からremoveClass()、クラスパラメータ:

要素から削除する1つ以上のCSSクラス。これらはスペースで区切られます。



19

jQuery .removeClass()ドキュメント。

要素から削除する1つ以上のCSSクラス。これらはスペースで区切られます。


17

ドキュメントは言います:

class (Optional) String
要素から削除する1つ以上のCSSクラス。これらはスペースで区切られます。

例:

一致する要素からクラス「blue」と「under」を削除します。

$("p:odd").removeClass("blue under");

12

それを行うには多くの方法があります!

jQuery

  1. すべてのクラスを削除
    $("element").removeClass();
    OR
    $("#item").removeAttr('class');
    OR
    $("#item").attr('class', '');
    OR
    $('#item')[0].className = '';

  2. マルチクラスを削除
    $("element").removeClass("class1 ... classn");
    OR
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

バニラJavaScript

  1. すべてのクラスを削除

// remove all items all class  
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
    items[i].className = '';
}

  1. マルチクラスを削除

// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';




0

jQuery 3.3.0以降、配列を.addClass()、に渡すことが可能です。removeClass()またtoggleClass()、スペースで区切られた文字列をいじる必要がないため、追加または削除するクラスを決定するロジックがある場合に、これが簡単になります。

$("div").removeClass(["class1", "class2"]); 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.