これを書き直すよりよい方法はありますか。
$('element').removeClass('class1').removeClass('class2');
removeClass();
を使用することはできません。すべてのクラスが削除されるため、不要です。
$("element").removeClass("class1 class2");
removeClass()
から、クラスパラメータ:
要素から削除する1つ以上のCSSクラス。これらはスペースで区切ります。
$('element').removeClass('class1 class2');
ここ はドキュメントです。
http://docs.jquery.com/Attributes/removeClass
要素から削除する1つ以上のCSSクラス。これらはスペースで区切ります。
ドキュメンテーション は言う:
class (Optional) String
要素から削除する1つ以上のCSSクラス。これらはスペースで区切られています。
例:
一致した要素からクラス 'blue'と 'under'を削除します。
$("p:odd").removeClass("blue under");
それを行うことができる多くの方法があります!
jQuery
すべてのクラスを削除 $("element").removeClass();
または$("#item").removeAttr('class');
または$("#item").attr('class', '');
または$('#item')[0].className = '';
マルチクラスを削除 $("element").removeClass("class1 ... classn");
または$("element").removeClass("class1").removeClass("...").removeClass("classn");
// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';
削除するクラスを空白で区切る必要があります$('selector').removeClass('class1 class2');
JQuery .3. であるため、.addClass()
、.removeClass()
、およびtoggleClass()
に配列を渡すことができます。これにより、決定するロジックがある場合に簡単になります。スペースで区切られた文字列をいじる必要がないため、どのクラスを追加または削除する必要があります。
$("div").removeClass(["class1", "class2"]);
クラスを白いspace
で区切る
$('element').removeClass('class1 class2');