【问题标题】:jQuery to hide all classes that start with 'row' except ‘row2’ only when the parent class is viewContainerTopjQuery 仅在父类为 viewContainerTop 时隐藏所有以“row”开头的类,“row2”除外
【发布时间】:2009-11-12 01:06:35
【问题描述】:

this question... 的变体

<div id="viewContainerTop">
  <div class="row1"></div>
  <div class="NotRow1"></div>
  <div class="row2"></div>
  <div class="row2"></div>
  <div class="row2"></div>
  <div class="row3 first"></div>
  <div class="donthideme"></div>
  <div class="row4"></div>
  <div class="row5"></div>
</div>

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    如果我理解正确,试试这个:

    $('#viewContainerTop > [class^=row]').not('.row2').hide();
    

    &gt; 是可选的 - 它不匹配以 row 开头的任何更深层次的对象。

    live example 也显示了这一点(点击刷新以查看选择器使所需元素变暗)。

    【讨论】:

    • 你完全理解。谢谢迈克尔。
    【解决方案2】:

    避免您的直接问题,但更好的方法可能是创建另一个类,说“canhide”并将其附加到您要定位的 div 上。您不应该对部分类名进行匹配。

    <div id="viewContainerTop">
      <div class="canhide row1"></div>
      <div class="NotRow1"></div>
      <div class="row2"></div>
      <div class="row2"></div>
      <div class="row2"></div>
      <div class="canhide row3 first"></div>
      <div class="donthideme"></div>
      <div class="canhide row4"></div>
      <div class="canhide row5"></div>
    </div>
    

    【讨论】:

      猜你喜欢
      • 2010-12-15
      • 2016-08-14
      • 1970-01-01
      • 2016-01-03
      • 2012-10-25
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多