使用jQuery选择多个类

Kez*_*zer 220 javascript jquery jquery-selectors

我看起来很好看,似乎无法找到如何在一个jQuery选择器语句中选择匹配某些类的所有元素,如下所示:

$('.myClass', '.myOtherClass').removeClass('theclass');
Run Code Online (Sandbox Code Playgroud)

关于如何实现这一点的任何想法?唯一的另一种选择是做

$('.myClass').removeClass('theclass');
$('.myOtherClass').removeClass('theclass');
Run Code Online (Sandbox Code Playgroud)

但我正在使用相当多的类,所以它需要很多代码.

小智 398

这应该工作:

$('.myClass, .myOtherClass').removeClass('theclass');

您必须在$()的第一个参数中添加多个选择器,否则您将为jQuery提供要搜索的上下文,这不是您想要的.

它和你在CSS中做的一样.

  • 对,我得到了这个http://stackoverflow.com/q/1041344/148271.基本上我将不得不加入所有的交叉选择器.比如`$(".myClass.myOtherClass")` (11认同)
  • 如果仅当每个元素都具有所有指定的类时才想匹配该怎么办? (2认同)

Ion*_*tan 26

你试过这个吗?

$('.myClass, .myOtherClass').removeClass('theclass');
Run Code Online (Sandbox Code Playgroud)


小智 25

我用 $('.myClass.myOtherClass').removeClass('theclass');

  • 这是因为HTML元素有多个类,并且您希望仅使用_all_这些类来删除元素的类.其他示例将从具有逗号分隔的任何类的任何元素中删除该类.你的例子只有在我的HTML元素有_both_时才有效,比如`<div class ="myClass myOtherClass theclass">` (33认同)