web-dev-qa-db-ja.com

複数のクラスを削除する(jQuery)

これを書き直すよりよい方法はありますか。

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

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

568
3zzy
$("element").removeClass("class1 class2");

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

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

1045
cletus

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

ここ はドキュメントです。

58
Scott Evernden

http://docs.jquery.com/Attributes/removeClass

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

18
SeanJA

ドキュメンテーション は言う:

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

例:

一致した要素からクラス 'blue'と 'under'を削除します。

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

それを行うことができる多くの方法があります!

jQuery

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

  2. マルチクラスを削除
    $("element").removeClass("class1 ... classn");
    または
    $("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 = '';
8
xgqfrms

削除するクラスを空白で区切る必要があります$('selector').removeClass('class1 class2');

1
Avishek Mondal

JQuery .3. であるため、.addClass()、.removeClass()、およびtoggleClass()に配列を渡すことができます。これにより、決定するロジックがある場合に簡単になります。スペースで区切られた文字列をいじる必要がないため、どのクラスを追加または削除する必要があります。

$("div").removeClass(["class1", "class2"]); 
0
Mark Fisher

クラスを白いspaceで区切る

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