如何获取未包含在任何html标记中的innertext

时间:2012-10-11 13:21:47

标签: javascript jquery html css

我的HTML是 -

​<div>
    <span>spanText</span>
    nonspantext
</div>
​​​​​​

我的js是 -

​$(function(){
    alert($("div").text());
});​

我想得到的是“非全文”作为警报 小提琴开始就在这里 - http://jsfiddle.net/UHr2x/

2 个答案:

答案 0 :(得分:7)

您可以使用.contents()获取元素的内容(包括文本节点),然后过滤结果以仅保留文本节点:

$("div").contents().filter(function () {
    return this.nodeType === 3;  
}).text();

这是一个working example。请注意,结果包含新行,因此您可能希望在使用之前对其进行修剪。

答案 1 :(得分:1)

嗯,使用好的旧DOM API是一个非常好的用例。

$('span')[0].nextSibling.nodeValue;

working example

似乎比詹姆斯的解决方案更有效率。