在jQuery中添加和删除多个类


135

我试图通过单击不同的单选按钮在文本字段上添加和删除多个类。在不同的单选按钮之间切换时,我无法删除不需要的类。

我的代码是:

// For 1st radio button
if (actionUrl == "search-client-by-id") {
    $("#req").removeClass("validate[required,custom[onlyLetterNumber],maxSize[20],custom[onlyLetterSp]]")
             .addClass("validate[required,custom[onlyNumberSp]]");
}
// For 2nd radio button
else if (actionUrl == "search-client-by-name") {    
    $("#req").removeClass("validate[required,custom[onlyNumberSp]]")
             .addClass("validate[required,custom[onlyLetterNumber],maxSize[20],custom[onlyLetterSp]]");
}

Answers:


273

您可以使用空格分隔多个类:

$("p").addClass("myClass yourClass");

http://api.jquery.com/addClass/


1
我每次都仅使用.removeClass()时就已经找到了解决方案,无需在removeClass中编写任何类名即可删除所有添加的类并可以选择添加任何类。是的,它的工作原理是...!
拉曼

3
使用.removeClass()[不带参数]删除jQuery对象的所有类。
Ahmet

8

添加多个类:

$("p").addClass("class1 class2 class3");

或级联:

$("p").addClass("class1").addClass("class2").addClass("class3");

也非常相似,以删除更多类:

$("p").removeClass("class1 class2 class3");

或级联:

$("p").removeClass("class1").removeClass("class2").removeClass("class3");

那么您要从多个班级中删除一个班级是$("p")什么?
拂尘

在我的示例中,我引用了页面上的所有段落,但这只是一个示例。您可以使用ID或其他类别标识特定项目。
Andrea_dev

0

使用javascript附加类名称的最简单方法。.siblings()行为异常时可能很有用。

document.getElementById('myId').className += ' active';

5
此答案与明确询问jQuery的问题无关。
cyberbit '16

1
而且您还是应该使用classList
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.