jQuery:选择具有 class X 的所有元素,但也具有 class Y 的元素除外

jQuery: selecting all elements having class X except those also having class Y

是否有可能在 jQuery 到 select 中所有具有 class X 的元素除了那些也具有 class Y 的元素?这是我的代码:

jQuery( '.class_A, .class_B' ).mCustomScrollbar();

我想做这样的事情:

jQuery( '.class_A, .class_B[except_if_also_has_class_C' ).mCustomScrollbar();

是这样的吗?

$('.class_X:not(.class_Y)')

这将 select 所有具有 class A 的元素,而不是那些同时具有 A 和 B

的元素

$('.a:not(.b)').css({'color': 'red'});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="a">a</li>
  <li class="a">a</li>
  <li class="a">a</li>
  <li class="a b">ab</li>
  <li class="b">b</li>
  <li class="b">b</li>
  <li class="a b">a</li>
  <li class="b">b</li>
</ul>

你能使用 jquery .not() 功能吗:

http://api.jquery.com/not/

你可以这样做:

$('.class_B').not('.class_C');

希望这对您有所帮助

是的,你可以这样做

jQuery('[class="class_A class_B"]');

这只会让您获得 class A 和 class B。

JsFiddle Link