jQuery添加CSS类

4
我想在添加新的class之前,把元素上原有的css class移除。如果我知道元素目前具体的class是什么,我可以通过以下方式将其移除:
$('#test').removeClass('current_class').addClass('new_class');

但问题在于#test并不总是有相同的类。因此,在添加新类之前,我想要删除附加到#test的任何CSS类。我该怎么做呢? 谢谢。

2
阅读文档总是有帮助的 - .removeClass() - Christian
4个回答

6
$('#test').removeClass();

将删除该项目具有的任何类,您可以在此之后简单地添加新类,就像您现在正在做的那样


4
$('#test').attr('class', '').addClass('new_class');

或者

$('#test').removeClass().addClass('new_class');

1

你有多少个不同的类?!

你可以为每个类制作一个独立的检查。

var not_allowed = ["class_1", "class_2", "class_3"];

for(i = 0; i < not_allowed.length; i++){
    if($("#test").hasClass(not_allowed[i])) $("#test").removeClass(not_allowed[i])
}

$("#test").addClass("new_class");

或者你可以使用.removeClass()一次性删除所有类,然后再添加新的类。

$("#test").removeClass().addClass("new_class");

1
首先使用jQuery的removeClass()函数删除所有类,然后根据需要添加类。
代码如下:
$('your class').removeClass();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接