我想在遇到另一个元素后停止搜索特定的子元素。
$("parent").find("children").dontSearchWithin("nothere");
基本上我想选择所有子元素,但不是选择特定div中的子元素。
下面是一个例子http://codepen.io/Jarolin/pen/hCqAa
我不想选择" not-here"范围内的范围。元件。
<div id="parent">
<span>FIND ME</span>
<span>FIND ME</span>
<span>FIND ME</span>
<span>FIND ME</span>
<div id="not-here">
<span>IGNORE</span>
<span>IGNORE</span>
<span>IGNORE</span>
</div>
这也可能有更多的子元素。并且跨度不一定是父母的直接子女。可以是父元素的子元素的子元素。如果这样做了
答案 0 :(得分:1)
您只需使用not()
过滤选择:
var spans = $('#parent').find('span').not('#not-here span');
spans.css('color', '#f90');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parent">
<span>FIND ME</span>
<span>FIND ME</span>
<span>FIND ME</span>
<span>FIND ME</span>
<div id="not-here">
<span>IGNORE</span>
<span>IGNORE</span>
<span>IGNORE</span>
</div>
</div>
Referencees: