Селектор div.foo:not(span.ignore_this)
говорит «соответствует каждый div.foo
, что не span.ignore_this
», который только собирается выбрать один элемент: div.foo
. Если вы изменили структуру своего HTML как это:
<div class="foo">
<span class="ignore_this">IGNORE THIS TEXT</span>
<span>SELECT THIS</span>
</div>
Тогда вы могли бы назвать:
$('div.foo span:not(.ignore_this)').text();
, которое соответствует всем span
элементы, которые являются потомками div.foo
, которые не являются .ignore_this
.
Если вы не имеете роскошь переформатирования HTML, то вы могли бы сделать то, что вы хотите с дополнительными циклов процессора:
var clone = $('div.foo').clone();
$('span.ignore_this', clone).remove();
var text = clone.text();