删除多个类 (jQuery)
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1485647/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Removing multiple classes (jQuery)
提问by eozzy
Is there any better way to rewrite this:
有没有更好的方法来重写这个:
$('element').removeClass('class1').removeClass('class2');
I cannot use removeClass();
as it would remove ALL classes, which I don't want.
我不能使用,removeClass();
因为它会删除我不想要的所有类。
回答by cletus
$("element").removeClass("class1 class2");
From removeClass()
, the class parameter:
从removeClass()
,类参数:
One or more CSS classes to remove from the elements, these are separated by spaces.
要从元素中删除的一个或多个 CSS 类,这些类用空格分隔。
回答by Scott Evernden
回答by SeanJA
jQuery .removeClass()
documentation.
jQuery.removeClass()
文档。
One or more CSS classes to remove from the elements, these are separated by spaces.
要从元素中删除的一个或多个 CSS 类,这些类用空格分隔。
回答by deceze
The documentationsays:
该文件说:
class (Optional) String
One or more CSS classes to remove from the elements, these are separated by spaces.
class (Optional) String
要从元素中删除的一个或多个 CSS 类,这些类用空格分隔。
Example:
例子:
Remove the class 'blue' and 'under' from the matched elements.
$("p:odd").removeClass("blue under");
从匹配的元素中删除类 'blue' 和 'under'。
$("p:odd").removeClass("blue under");
回答by xgqfrms
There are many ways can do that!
有很多方法可以做到这一点!
jQuery
jQuery
remove all class
$("element").removeClass();
OR$("#item").removeAttr('class');
OR$("#item").attr('class', '');
OR$('#item')[0].className = '';
remove multi class
$("element").removeClass("class1 ... classn");
OR$("element").removeClass("class1").removeClass("...").removeClass("classn");
删除所有类
$("element").removeClass();
OR$("#item").removeAttr('class');
OR$("#item").attr('class', '');
OR$('#item')[0].className = '';
删除多类
$("element").removeClass("class1 ... classn");
或$("element").removeClass("class1").removeClass("...").removeClass("classn");
Vanilla Javascript
原生 JavaScript
- remove all class
- 删除所有类
// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
- remove multi class
- 删除多类
// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';
回答by codemirror
Separate classes by white space
用白色分隔类 space
$('element').removeClass('class1 class2');
回答by Avishek Mondal
You must be separate those classes which you want to remove by white space$('selector').removeClass('class1 class2');
您必须用空格分隔要删除的那些类$('selector').removeClass('class1 class2');
回答by Mark Fisher
Since jQuery 3.3.0, it is possible to pass arrays to .addClass()
, .removeClass()
and toggleClass()
, which makes it easier if there is any logic which determines which classes should be added or removed, as you don't need to mess around with the space-delimited strings.
从 jQuery 3.3.0 开始,可以将数组传递给.addClass()
, 。removeClass()
和toggleClass()
,如果有任何逻辑确定应该添加或删除哪些类,这会更容易,因为您不需要弄乱以空格分隔的字符串。
$("div").removeClass(["class1", "class2"]);