javascript - 如何在忽略与文本相邻的标签内的某些文本的同时访问元素内的文本?

标签 javascript jquery

<分区>

当文本本身与包含文本的另一个元素相邻时,从 jQuery 元素中获取文本的好方法是什么?

在此示例中,我想获取文本:'Text I want',同时忽略相邻子元素中的文本:

<span>
   <a>Text I want to ignore</a> 
   Text I want
</span>

我的解决方案是获取 <span> 中的所有文本标记,然后删除 <a> 中的所有文本标签。这感觉有点尴尬,所以我想知道是否有更好的方法:

var all_the_text = $('span').text();
var the_text_i_dont_want = $('span').find('a').text();
var text_i_want = all_the_text.replace(the_text_i_dont_want, '');

最佳答案

为此您必须转到文本节点:

var text_i_want = $("span").contents().filter(function(){
    return this.nodeType === 3;
}).text();​

http://jsfiddle.net/UeBZq/

关于javascript - 如何在忽略与文本相邻的标签内的某些文本的同时访问元素内的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147045/

相关文章:

javascript - 通过javascript函数调用asp.net传递ID

javascript - 在 Chart.js 中使用 JSON 文件数据

javascript - 在单独的函数中调用 passport.authenticate 不起作用

javascript - 不使用任何内置函数 trim 字符串左侧的空白

javascript - 如何将MP3文件播放到麦克风输入jQuery

javascript - 带缓动的视差滚动

javascript - 将引导选择单元动态插入表行不起作用

javascript - react : how to add a props to a component inside a library?

javascript - 网页应仅适用于 800 x 600 像素及以上的分辨率

来自 jQuery Deferred 的 JavaScript promise 仅在第一次解析