[英]Is there any possibility to get all HTML content elements that contains “plain” text values from HTML document using javascript?
是否有可能使用javascript從HTML文檔中獲取包含“純”文本值的所有HTML內容元素?
例如:
<html>
<body>
<div>
Text1
<p>
Text2
</p>
</div>
</body>
</html>
我想獲取Text1和Text2。
當然,您可以簡單地遍歷DOM節點:
function getTextNodes(node) {
var result = [];
for(var child = node.firstChild; child; child = child.nextSibling) {
if(child.nodeType === 3) { // text node
result.push(child);
}
else if(child.nodeType === 1) { // element node
result = result.concat(getTextNodes(child));
}
}
return result;
}
var textNodes = getTextNodes(document.body);
這是一種遞歸方法,您也可以先選擇所有元素節點,然后再獲取其子文本節點。
您可能還希望過濾掉僅包含空格的文本節點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.