使用 jQuery 选择多个类

IT技术 javascript jquery jquery-selectors
2021-01-27 13:11:32

我已经很好看了,似乎无法找到如何在一个 jQuery 选择器语句中选择与某些类匹配的所有元素,例如:

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

关于如何实现这一目标的任何想法?唯一的其他选择是做

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

但是我正在用相当多的类来做这件事,所以它需要很多代码。

4个回答

这应该有效:

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

您必须将多个选择器全部添加到 $() 的第一个参数中,否则您将给 jQuery 一个搜索上下文,这不是您想要的。

这与您在 CSS 中所做的相同。

这个答案没有回答问题,这样你就在做一个 OR 了!!!!不是和!!
2021-03-20 13:11:32
有关 CSS 分组的更多信息:W3C“分组”
2021-03-20 13:11:32
如果我只想在每个元素都具有所有指定的类时匹配它怎么办?
2021-03-26 13:11:32
好吧,我得到了这个stackoverflow.com/q/1041344/148271基本上,我将不得不加入所有交叉选择器。喜欢$(".myClass.myOtherClass")
2021-04-02 13:11:32
@wal:当指向两个类时,在 CSS 中也需要逗号。没有逗号,它会引用.myOtherClass里面的某个地方.myClass
2021-04-06 13:11:32

你试过这个吗?

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

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

这是如果一个 HTML 元素有多个类,并且您只想删除包含所有这些类的元素的类。其他示例将从具有以逗号分隔的任何类的任何元素中删除该类。如果我的HTML元素有你的榜样只会工作,如<div class="myClass myOtherClass theclass">
2021-04-09 13:11:32
// Due to this Code ): Syntax problem.    
$('.myClass', '.myOtherClass').removeClass('theclass'); 

根据 jQuery 文档:https : //api.jquery.com/multiple-selector/

什么时候可以用这种方式选择多个类:

jQuery(“selector1, selector2, selectorN”) // double Commas. // IS valid.
jQuery('selector1, selector2, selectorN') // single Commas. // Is valid.

通过将所有选择器包含在单个 '...' ' 或双逗号中,“...”

因此,在您的情况下,调用多个类的正确方法是:

$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass');  // Correct Code // Is valid.