繁体   English   中英

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

[英]How can I set the class for an element using jQuery? Don't want to add/remove classes

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

document.getElementById('foo').className = "my_class";

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

$('#foo').addClass("my_class");

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

要从元素中删除所有类:

$('#foo').removeClass();

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

$('#foo').removeClass().addClass('my_class');

使用.attr()直接设置class属性:

$('#foo').attr('class', 'my_class');

您可以像这样使用.attr()函数:

$('#foo').attr('class', 'my_class');

你可以用它:

$('#foo').attr('class', 'my_class');

它将用“my_class”替换任何类

 $('#foo').removeClass().addClass('my_class');

啊,在我发布问题后几秒钟找到答案。 显然我的谷歌技能不足...... :-(

无论如何,答案在removeClass()函数中。 所以,你可以这样做:

$('#foo').removeClass().addClass("my_class");

不可能更简单。

你可以尝试使用.toggleClass()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM