我在获取元素中的文本时遇到问题。我试图“提取”的结构看起来像这样:
<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中找到任何东西,这会有所帮助。
答案 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