Используйте функцию contents()
jQuery , чтобы выбрать все дочерние узлы , включая текстовые узлы. Затем отфильтруйте набор так, как вам нравится, и, наконец, извлеките текст из оставшегося набора.
Учитывая фрагмент документа, подобный этому:
<div id="mycenter">
some text 1
<h2>The header</h2>
some text 2
<div>other stuff</div>
<h1>another header</h1>
</div>
Опция # 1 : вернуть только текст, который является непосредственным дочерним элементом #mycenter
, исключая, таким образом, текст всех дочерних элементов (не только элементов h *):
$('#mycenter').contents().filter(function() {
return this.nodeType == 3;
}).text();
Дает нам:
some text 1
some text 2
Опция # 2 : Возврат всех потомков, кроме содержимого элементов заголовка (H1-H6), которые являются непосредственными потомками #mycenter:
$('#mycenter').contents().not('h1,h2,h3,h4,h5,h6').text();
дает нам:
some text 1
some text 2
other stuff