jQuery选择器跳过给定类的所有后代(不仅仅是直接子级)

时间:2017-11-11 00:45:31

标签: jquery

我的脑袋即将爆炸!

假设:

<div class="outer1">
  <div class="outer2">
    <div class="yes"></div>
    <div class="yes">
       <div class="me-too"></div>
    </div>
    <div class="no">
       <div class="me-not"></div>
    </div>
    <div class="no">
       <div class="me-not">
         <div class="me-not2"></div>
       </div>
    </div>
    <div class="no"></div>
  </div>
</div>

应用于outer1的选择器是什么,它会为yes提供所有me-too(以及no',但$( 'div.outer1' ).not( 'div.no' ).stuff() 下没有?

我已经尝试过显而易见的事了:

$( 'div.outer1 :not(div.no)' ).stuff()

还有:

stuff()

但是,除非我在其他地方有错误,div.me-not仍然会获得div.me-not2和{{1}}

谢谢:)

1 个答案:

答案 0 :(得分:0)

在这里使用find,抱歉,如果这不是您正在寻找的。这限制了div.outer1孩子。它可以找到所有内容和任何东西,而不是外部2,.no或任何东西.no。

$( 'div.outer1' ).find(':not(div.outer2,div.no,div.no *)');