为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery-获取没有子文本的元素的文本

jQuery-获取没有子文本的元素的文本

智慧大石 2019-10-21 10:16:32
例如我们有这个文件<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());


查看完整回答
反对 回复 2019-10-21
?
不负相思意

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()


查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 516 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信