例如我们有这个文件<div id="mydiv"> some text here <div id="inner div"> text for inner div </div></div>我只需要#mydiv像这样的一些代码来获取文本:alert($('#mydiv').text()); // will alert "some text here"
3 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
就性能而言,当前接受的答案非常可怕,因此我不得不写一个更轻量的答案:
$.fn.mytext = function() {
var str = '';
this.contents().each(function() {
if (this.nodeType == 3) {
str += this.textContent || this.innerText || '';
}
});
return str;
};
console.log($('#mydiv').mytext());
不负相思意
TA贡献1777条经验 获得超10个赞
就像Ja͢ck的答案一样,但无需显式迭代(通过.each())并收集textContents:
$('#mydiv').contents().filter(function(){return this.nodeType === 3}).text()
或者,如果可以使用箭头功能:
$('#mydiv').contents().filter((i, el) => el.nodeType === 3).text()
添加回答
举报
0/150
提交
取消