阅读标签之间的文本

Reading Text Between Tags

本文关键字:文本 之间 标签      更新时间:2023-09-26

我正试图解析一些写得不好的HTML,它们遵循以下结构。

<div>
   <span>stuff</span>
   Lets just put text here
   <span>more stuff</span>
   And here too!!!
   <span id="cool">even more stuff</span>
</div>

从本质上讲,文本位于标签对之间。我试图用JavaScript只获取"让我们把文本放在这里"answers"还有这里!!"文本。建议?

谢谢。

我会使用方便的数组方法:Array.prototype.filter-只获取文本节点,Array.prototype.map从这些节点获取文本值:

var div = document.querySelector('div');
var textNodes = [].slice.call(div.childNodes).filter(function(el) {
    return el.nodeType === 3 && el.nodeValue.trim();
});
var text = textNodes.map(function(node) {
    return node.nodeValue.trim();
});
alert("Text #1: " + text[0] + "'nText #2: " + text[1]);
<div>
   <span>stuff</span>
   Lets just put text here
   <span>more stuff</span>
   And here too!!!
   <span id="cool">even more stuff</span>
</div>