javascript从元素到数组获取文本

时间:2013-11-18 11:50:59

标签: javascript jquery html arrays dom

我在获取元素中的文本时遇到问题。我试图“提取”的结构看起来像这样:

<div>
    text text text text
    <h2> title </h2>
    text2 text2 text2
    <img>
    <br>
    <br>
    text3 text3 text3 
    <h2> title 2</h2>
    text4 text4 text4
</div>

我正在寻找的结果是数组:

['text text text', 'text2 text2 text2', 'text3 text3 text3', 'text4 text4 text4']

我无法编辑HTML结构。而且我不知道如何将这些数据传输到数组中。我只试过jquery的.text(),但那不是那种方式,而且我没有在google中找到任何东西,这会有所帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用.contents().map()创建解决方案

var arr = $('div').contents().map(function () {
    if (this.nodeType == 3) {
        var text = $.trim(this.nodeValue);
        if (text != '') {
            return text
        }
    }
}).get();

console.log(arr)

演示:Fiddle