繁体   English   中英

提取包含特定单词javascript的文本块中的特定行

[英]Extracting specific lines in a chunk of text which contains a specific word, javascript

我目前有一大堆字符串,实际上是存储在其中的html源代码。 我现在想做的是读取需要使用JavaScript的特定标签。 谁能帮我这个忙,我是编程新手,所以我不太确定该怎么做。


有问题的代码:

if (request.readyState == 4) {
    var html_text = request.responseText;
    var parent = document.createElement('div');
    parent.innerHTML = html_code;
    var metas = parent.getElementsByTagName('meta');
    var meta;
    for (var i = 0; i < metas.length; i++) {
        meta = metas[i];
        alert(meta.property);
        alert(meta.content);
    }
}

元内容有效,但仅返回的meta属性未定义。

使用DOM(文档对象模型)API。 Mozilla的开发网络 (Mozilla的娘家姓开发中心)是一个很好的起点,一个全能的参考。


我现在想做的是读取需要使用JavaScript的特定标签。

var text = /* whatever string that contains HTML */;

首先,您需要解析字符串:

var parent = document.createElement('div');
parent.innerHTML = text;

然后,您可以搜索所需的任何元素。 假设您正在寻找<table>元素。

var tables = parent.getElementsByTagName('table');

现在,您可以对找到的每个元素执行所需的任何操作:

var table;
for (var i=0, len=tables.length; i<len; i++)
{
    table = tables[i];
    // do something with the element
}

相关API文档

XML节点的属性不容易用作DOM对象属性。 使用getAttribute

范例: http //jsfiddle.net/mendesjuan/6Pdmw/

var node = document.createElement('div');
node.innerHTML = "<meta property='prop1' content='cont1'>"+
                 "<meta property='prop2' content='cont2'>";
var metas = node.getElementsByTagName('meta');    
for (var i = 0; i < metas.length; i++) {
    var meta = metas[i];
    alert(meta.getAttribute("property"));
    alert(meta.getAttribute("content"));
}

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM