非常简单的一段代码:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript">
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xhttp = new XMLHttpRequest();
}
else
{
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}
xmlDoc = loadXMLDoc("feedback.xml");
x=xmlDoc.getElementsByTagName("quote");
for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write("<br>");
}
</script>
</body>
</html>
我正在加载如下所示的 XML 文件“feedback.xml”:
<feedback>
<quote id="1">"This is a quote."</quote>
<quote id="2">"This is another quote."</quote>
</feedback>
我从http://www.w3schools.com/dom/tryit.asp?filename=try_dom_list_loop获得了代码,但没有真正发生。当我试图alert(x)
检查里面有什么时,我得到一个“[object HTMLCollection]”。但是,当我想检查时,alert(x[0])
我得到“未定义”。任何想法为什么这不起作用?看起来很简单,XML 文件与这个 html 文件在同一个文件夹中,并且 Firebug 不会抛出任何错误。