在jQuery中选择元素时忽略子元素

在jQuery中选择元素时忽略子元素,jquery,Jquery,这是我的HTML: <div class="foo"> <span class="ignore_this">IGNORE THIS TEXT</span> SELECT THIS </div> 但是我不知道怎么做。选择器div.foo:notspan.ignore\u这是说匹配每个不是span.ignore\u的div.foo,它只选择一个元素:div.foo。如果您按照以下方式重新构造html: <div class="f

这是我的HTML:

<div class="foo">
    <span class="ignore_this">IGNORE THIS TEXT</span>
    SELECT THIS
</div>
但是我不知道怎么做。

选择器div.foo:notspan.ignore\u这是说匹配每个不是span.ignore\u的div.foo,它只选择一个元素:div.foo。如果您按照以下方式重新构造html:

<div class="foo">
    <span class="ignore_this">IGNORE THIS TEXT</span>
    <span>SELECT THIS</span>
</div>
它匹配作为div.foo的后代的所有span元素,而不是。忽略此

如果您没有重新格式化html的奢侈,那么您可以通过额外的处理器周期来完成您想要的:

var clone = $('div.foo').clone();
$('span.ignore_this', clone).remove();
var text = clone.text();
选择器div.foo:notspan.ignore_表示匹配每个不是span.ignore_的div.foo,它只选择一个元素:div.foo。如果您按照以下方式重新构造html:

<div class="foo">
    <span class="ignore_this">IGNORE THIS TEXT</span>
    <span>SELECT THIS</span>
</div>
它匹配作为div.foo的后代的所有span元素,而不是。忽略此

如果您没有重新格式化html的奢侈,那么您可以通过额外的处理器周期来完成您想要的:

var clone = $('div.foo').clone();
$('span.ignore_this', clone).remove();
var text = clone.text();