我目前有一大块字符串,实际上存储了一个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);
}
}
元内容有效,但只是返回的元属性未定义。
答案 0 :(得分:1)
使用DOM(文档对象模型)API。 Mozilla Dev Network(née 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
}
答案 1 :(得分:0)
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"));
}