jQuery搜索子元素,但不是某些div

时间:2014-10-17 17:16:19

标签: jquery

我想在遇到另一个元素后停止搜索特定的子元素。

$("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>

这也可能有更多的子元素。并且跨度不一定是父母的直接子女。可以是父元素的子元素的子元素。如果这样做了

1 个答案:

答案 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: