4

我想在向元素添加新类之前删除一个 css 类。如果我知道元素已经具有哪个确切的类,我可以通过

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

但问题是#test并不总是有相同的类。所以我想#test在添加之前删除任何附加的css类,然后再添加一个新的。我该怎么做?谢谢。

4

4 回答 4

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

将删除该项目具有的任何类,您可以像现在一样简单地添加新类

于 2012-04-05T09:29:17.753 回答
4
$('#test').attr('class', '').addClass('new_class');

或者

$('#test').removeClass().addClass('new_class');
于 2012-04-05T09:29:41.930 回答
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");
于 2012-04-05T09:35:47.293 回答
1

首先使用 jQuery 的removeClass()函数删除所有类,然后根据需要添加类。

代码是

$('your class').removeClass();
于 2012-04-05T11:28:41.767 回答