jQuery:选择具有类X的所有元素,除了那些也具有类Y的元素

时间:2015-03-12 17:21:21

标签: jquery selector

在jQuery中是否可以选择具有类X的所有元素,除了那些也具有类Y的元素?这是我的代码:

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

我想做这样的事情:

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

3 个答案:

答案 0 :(得分:3)

您可以使用jquery .not()功能:

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

你可以这样做:

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

希望这会有所帮助

答案 1 :(得分:2)

这样的东西?

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

这将选择所有具有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>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

是的,你可以这样做

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

这将只为您提供A类和B类。

JsFiddle Link