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

时间:2012-07-06 12:20:31

标签: javascript jquery

例如我们有这个文件

<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"

2 个答案:

答案 0 :(得分:45)

请试试这个“:http://jsfiddle.net/MtVxx/2/

此处的特定案例的良好链接:http://viralpatel.net/blogs/jquery-get-text-element-without-child-element/(这只会获取元素的文字)

希望这有帮助,:)

<强>码

jQuery.fn.justtext = function() {

    return $(this).clone()
            .children()
            .remove()
            .end()
            .text();

};

alert($('#mydiv').justtext());​

答案 1 :(得分:0)

类似于Ja͢ck's answer,但无需显式迭代(通过.each())并收集textContent

$('#mydiv').contents().filter(function(){return this.nodeType === 3}).text()

或者,如果可以使用箭头功能:

$('#mydiv').contents().filter((i, el) => el.nodeType === 3).text()