如何使用jQuery为元素设置类?不想添加/删除类

jbr*_*del 13 javascript css jquery

我需要在页面中为元素设置类.使用纯JavaScript,我会写如下:

document.getElementById('foo').className = "my_class";
Run Code Online (Sandbox Code Playgroud)

这只是设置了类,这正是我想要的.但我在我的页面上使用jQuery,所以想以"jQuery方式"执行此操作,因为混合旧样式和jQuery样式似乎很奇怪.但是jQuery显然只允许你使用addClass()或removeClass(),如下所示:

$('#foo').addClass("my_class");
Run Code Online (Sandbox Code Playgroud)

问题是它只是向元素添加一个类,它不会替换当前存在的类.这是否意味着我必须先跟踪旧类并首先执行removeClass()?有没有办法告诉jQuery替换当前的类,无论它是什么,只是用一个新的替换它?

kcb*_*ner 25

要从元素中删除所有类:

$('#foo').removeClass();
Run Code Online (Sandbox Code Playgroud)

不指定removeClass参数会删除所有类.所以你的解决方案是:

$('#foo').removeClass().addClass('my_class');
Run Code Online (Sandbox Code Playgroud)


Bol*_*ock 10

class使用.attr()以下方法直接设置属性

$('#foo').attr('class', 'my_class');
Run Code Online (Sandbox Code Playgroud)