2013-03-19 40 views
3

大家好。我正在使用jQuery,我想用jQuery替换DIV上的类。 我知道我可以代替类是这样的:如何用jQuery替换类

$('#div').removeClass('first').addClass('second'); 

但是,当我知道第一类的名字,我只能用这个。就我而言,我不知道第一个类的名字,因为它是动态的。

回答

6

您可以使用attr()设置类,它会在写上一类

$('#div').attr('class', 'second'); 

您可以拨打removeClass不带参数

$('#div').removeClass().addClass('second'); 
+0

否决权的理由? – Adil 2013-03-19 10:30:23

+0

不确定它是跨浏览器安全使用'attr(“class”,...)'。 – andlrc 2013-03-19 10:31:38

+2

第二个选项完美地正确工作,是一个合适的回答问题 - Downvotes应该支持的原因恕我直言,否则这对每个人都无益。 – MyStream 2013-03-19 10:32:42

4

当你调用removeClass不带参数,这将删除所有分类

$("#div").removeClass().addClass('second'); 
+0

@Kabir试试这个工作对我来说 – PSR 2013-03-19 10:30:38

+0

谢谢@PSR它的作品。 – Kabir 2013-03-19 10:35:40

+0

我已经投票给你+1,但Adil的解决方案也是正确的,我只能接受一个答案:) – Kabir 2013-03-19 10:40:43

0

试试这个:

$("#div").removeAttr('class'); 
$('#div').attr('class','second'); 

第一行会移除CALSS属性,第二将添加一个类名称第二

+0

如果你删除class属性如何添加class – PSR 2013-03-19 10:30:12

0

尝试这种情况:

$('#div').removeAttr('class').attr('class', 'second'); 
0

的toggleClass()方法中添加和删除一个或多个之间进行切换所选元素的类名称。

此方法检查每个元素的指定类名称。如果缺失,则添加类名称,如果已设置,则删除类名称 - 这会创建切换效果。

$("#div").toggleClass(second,function(index,first),TRUE)