有没有更好的方法来重写它:
$('element').removeClass('class1').removeClass('class2');
我不能使用removeClass();,因为它会删除所有我不想要的类。
removeClass();
$('element').removeClass('class1 class2');
这里是的文档。
jQuery.removeClass()留档。
.removeClass()
要从元素中删除的一个或多个CSS类,这些类由空格分隔。
$("element").removeClass("class1 class2");
从removeClass()开始,类参数:
removeClass()
要删除的一个或多个CSS类 元素,这些被分隔开 空格。
留档说:
class (Optional) String 从元素中删除一个或多个CSS类,这些类由空格分隔。
class (Optional) String
示例:
从匹配的元素中删除类“Blue”和“under”。 $("p:odd").removeClass("blue under");
从匹配的元素中删除类“Blue”和“under”。
$("p:odd").removeClass("blue under");
有很多方法可以做到这一点!
jQuery
删除所有类 $("element").removeClass(); OR $("#item").removeAttr('class'); OR $("#item").attr('class', ''); OR $('#item')[0].className = '';
$("element").removeClass();
$("#item").removeAttr('class');
$("#item").attr('class', '');
$('#item')[0].className = '';
删除多类 $("element").removeClass("class1 ... classn"); OR $("element").removeClass("class1").removeClass("...").removeClass("classn");
$("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 = '';
白色的独立类space
space
从jQuery3.3.0开始,可以将数组传递给.addClass()、.removeClass()和toggleClass(),如果有任何逻辑确定应该添加或删除哪些类,这会更容易,因为您不需要弄乱空格分隔的字符串。
.addClass()
toggleClass()
$("div").removeClass(["class1", "class2"]);
您必须通过空格$('selector').removeClass('class1 class2');分隔要删除的那些类
$('selector').removeClass('class1 class2');