【问题标题】:jQuery: selecting all elements having class X except those also having class Y [duplicate]jQuery:选择所有具有X类的元素,除了那些也具有Y类的元素[重复]
【发布时间】:2015-05-14 23:53:14
【问题描述】:

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

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

我想做这样的事情:

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

【问题讨论】:

    标签: jquery selector


    【解决方案1】:

    这样的?

    $('.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>

    【讨论】:

      【解决方案2】:

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

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

      你可以这样做:

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

      希望对你有帮助

      【讨论】:

        【解决方案3】:

        是的,你可以这样做

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

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

        JsFiddle Link

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-09-22
          • 2016-03-19
          • 1970-01-01
          • 1970-01-01
          • 2020-03-04
          • 2011-11-29
          • 1970-01-01
          • 2012-03-18
          相关资源
          最近更新 更多