通过Javascript提取文本

通过Javascript提取文本,javascript,grep,Javascript,Grep,我需要做我期望的事情,通过一些HTML和附加文本的JavaScript进行一些简单的文本解析 我已经可以获取类的文本,但无法从第一个 NRG软件有限责任公司。 10437创新博士311 密尔沃基, WI 53226 美国 我还有一块看起来像这样的,我想得到订单 2010年12月7日订购#26565180 试试这个: var mytext = document.getElementById("street-address").textContent; 或获取HTML: var myhtml

我需要做我期望的事情,通过一些HTML和附加文本的JavaScript进行一些简单的文本解析

我已经可以获取类的文本,但无法从第一个

NRG软件有限责任公司。
10437创新博士311
密尔沃基,
WI
53226
美国
我还有一块看起来像这样的,我想得到订单

2010年12月7日订购#26565180
试试这个:

var mytext = document.getElementById("street-address").textContent;
或获取HTML:

var myhtml = document.getElementById("street-address").innerHTML;
您应该向任何需要解析内容的元素添加id

更新: IE7和back不支持文本内容,因此您需要使用以下内容来支持旧版本的IE:

var myhtml = document.getElementById("street-address").innerText;

您可以将所有文本节点连接在一起

var elem = document.getElementsByTagName('div')[0],
    text = elem.textContent || elem.innerText;

或者,您可以通过在文本节点上递归迭代来构建文本

var getText = function me(element) {
    var text = '',
        children = element.childNodes,
        childrenLength = children.length;

    for (var i = 0; i < childrenLength; i++) {

        if (children[i].nodeType == 1) {
            text += me(children[i]);

        } else if (children[i].nodeType == 3) {
            text += children[i].data;

        }

    }
    return text;
}
var getText=function me(元素){
变量文本=“”,
children=element.childNodes,
childrenLength=children.length;
对于(变量i=0;i

.

向添加一个id以获取NRG Software,LLC,然后您就可以使用
var company=document.getElementById('company').innerHTML我无法控制html,否则我会添加一个ID。您应该知道textcontent在传统浏览器中不起作用,更安全的方法是获取street address元素的textNode子元素并获取该节点的值。
var elem = document.getElementsByTagName('div')[0],
    text = elem.textContent || elem.innerText;
var getText = function me(element) {
    var text = '',
        children = element.childNodes,
        childrenLength = children.length;

    for (var i = 0; i < childrenLength; i++) {

        if (children[i].nodeType == 1) {
            text += me(children[i]);

        } else if (children[i].nodeType == 3) {
            text += children[i].data;

        }

    }
    return text;
}