元属性未定义

时间:2011-06-16 20:06:44

标签: javascript html dom metadata

我有一些代码,它使用ajax接收html,然后检索元标记。

if (request.readyState == 4) { 
    var html_text = request.responseText; 
    var parent = document.createElement('div'); 
    parent.innerHTML = html_text; 

    var metas = parent.getElementsByTagName('meta'); 
    var meta; 

    for(var i=0; i < metas.length; i++) { 
        meta = metas[i]; 
        alert(meta.property); 
        alert(meta.content); } 
    }

html_text确实包含元属性和内容,内容确实显示。但为什么meta属性显示为undefined?谁能帮我这个?

3 个答案:

答案 0 :(得分:1)

您必须查找meta.name或使用meta.getAttribute("property")

btw:你是变量html_code的内部HTML,但你将HTML内容存储在html_text中。

答案 1 :(得分:0)

您可以尝试使用getAttribute获取属性属性:

alert(meta.getAttribute('property'));

我不确定为什么它不会按你的方式工作。

答案 2 :(得分:0)

你在这里尝试的是一种新文档的创建,它至少在IE中不起作用。
把这一行

alert(parent.innerHTML)

之后:

parent.innerHTML = html_text; 

...你会看到,你只得到了身体的内容,其他一切都被省略了。

如果响应有效xml,request.responseXML应该可用,您可以直接检查它(它已经是文档)。