代码之家  ›  专栏  ›  技术社区  ›  bilpor

n类的jQuery选择器

  •  0
  • bilpor  · 技术社区  · 6 年前

    我有很多DIV元素都有类 collapse in 在他们身上。其中一些类有另一个类开始 level-n 其中n可以是1中的任意数字。

    我需要一个选择器,它将返回类中折叠的所有DIV元素,并且这些元素的级别也大于1。

    $(div.collapse.in) 会给我一个开胃菜,但是我怎样才能把它扩展到n级来进一步缩小范围呢?

    3 回复  |  直到 6 年前
        1
  •  1
  •   eisbehr    6 年前

    您可以使用选择器来检查 class 元素的属性以或包含开头 level- .

    $('div[class*=level-].collapse.in').css("color", "#f00");
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="collapse in">.collapse.in</div>
    <div class="asd level-1 collapse in">.level-1.collapse.in</div>
    <div class="collapse in">.collapse.in</div>
    <div class="level-2 collapse in">.level-2.collapse.in</div>
        2
  •  0
  •   Bhushan Kawadkar    6 年前

    您可以使用属性选择器过滤掉包含n级类的DIV。见以下代码

    Attribute selectors

    $(function(){
      $('div.collapse.in[class*=level-]').css("color", "#f0f");
     });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="collapse in">collapse in</div>
        <div class="collapse in level-1">level-2</div>
        <div class="collapse in">collapse in</div>
        <div class="collapse in level-2">level-2</div>
        3
  •  -1
  •   Rakesh    6 年前
    $(div.collapse.in).not('div.collapse.level-1') 
    

    将为您提供除级别为1的类之外的所有元素。