简体   繁体   English

是否有可能使用javascript从HTML文档中获取包含“纯”文本值的所有HTML内容元素?

[英]Is there any possibility to get all HTML content elements that contains “plain” text values from HTML document using javascript?

Is there any possibility to get all HTML content elements that contains "plain" text values from HTML document using javascript? 是否有可能使用javascript从HTML文档中获取包含“纯”文本值的所有HTML内容元素?

For example: 例如:

<html>
    <body>
        <div>
            Text1
            <p>
                Text2
            </p>
        </div>
    </body>
</html>

I want to get Text1 and Text2. 我想获取Text1和Text2。

Sure, you can simply iterate over the DOM nodes: 当然,您可以简单地遍历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);

This is a recursive approach, you can also select all element nodes first and then get their child text nodes. 这是一种递归方法,您也可以先选择所有元素节点,然后再获取其子文本节点。

You probably also want to filter out text nodes only containing whitespaces. 您可能还希望过滤掉仅包含空格的文本节点。

DEMO DEMO

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 获取所有后代的纯文本形式的元素内容 - Get elements content as plain text with all descendants Angular:编写普通的 JavaScript 并从 HTML 模板中获取元素 - Angular: write plain JavaScript and get Elements from the HTML template Javascript:选择文本以复制HTML文档中所有类似元素 - Javascript: Select text for copy of all similar elements in HTML document 从 html 获取纯文本,但希望使用 javascript 将标题属性保留在 select 标记中 - Get plain text from html but want to keep title attribute in select tag using javascript Javascript变量包含纯文本,包括html标记 - Javascript variable contains plain text including html tag 使用javascript从HTML表获取元素 - get elements from an HTML table using javascript 如何使用javascript和jquery从html元素到特定的html元素字段分别获取值 - How to get values separately from html elements to specfic html element field using javascript and jquery 从包含HTML的JavaScript变量中使用jQuery获取选择器(.html())的html内容 - Get html content of a selector ( .html() ) with jQuery from a JavaScript variable that contains HTML Javascript如何将纯文本html元素拆分为数组? - Javascript how to split plain text html elements into an array? 仅使用纯 JavaScript(无 jQuery)将元素添加到给定纯文本 HTML 的 DOM - Add elements to the DOM given plain text HTML using only pure JavaScript (no jQuery)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM