2009-07-25 3 views
1

Я хочу, чтобы захватить текст внутри сНу элемента, как это:как фильтровать текст внутри HTML-тега с помощью JQuery

<div class='someclass'> 
<blockquote>some text ! </blockquote> 
another text goes here . 
</div> 

так я получаю весь текст с JQuery, как это:

var qtext = $('.someclass').text(); 

Я хочу исключить текст, который находится в дочерних элементах, например <blockquote>some text ! </blockquote>. Мне просто нужен текст внутри элемента div. Как я могу отфильтровать это?

+0

Мне не нужно снимать теги HTML, мне нужно удалить весь HTML-тег с текстом внутри него. – mehdi

ответ

1

Это обходной путь:

var div = $('.someclass').clone(); 
div = div.find('blockquote').remove().end(); 
alert(div.text()); 
+0

Отлично, Танк! – mehdi

0

То, что вы хотите только выбрать TextNodes:

var textNodes = $('.someclass').contents() 
           .filter(function() { 
            return this.nodeType == Node.TEXT_NODE; 
           }); 

Это даст вам массив из TextNodes вы могли бы извлечь фактическое текстовое содержимое всех узлов в массив:

var textContents = $.map(textNodes, function(n){return n.textContent;}); 
Смежные вопросы