我想在div元素中抓取文本,如下所示:
<div class='someclass'>
<blockquote>some text ! </blockquote>
another text goes here .
</div>
所以我用jQuery获取所有文本:
var qtext = $('.someclass').text();
我想要排除子元素中的文本,例如<blockquote>some text ! </blockquote>
。我只需要div元素中的文本。我该如何过滤?
答案 0 :(得分:1)
请参阅“剥离HTML代码”:http://devkick.com/blog/parsing-strings-with-jquery/
答案 1 :(得分:1)
这是一种解决方法:
var div = $('.someclass').clone();
div = div.find('blockquote').remove().end();
alert(div.text());
答案 2 :(得分:0)
您想要的只是选择TextNodes:
var textNodes = $('.someclass').contents()
.filter(function() {
return this.nodeType == Node.TEXT_NODE;
});
这将为您提供一个TextNodes数组,然后您可以将所有节点的实际文本内容提取到数组中:
var textContents = $.map(textNodes, function(n){return n.textContent;});