に関するすべてのドキュメントelement.children
(たとえばMDN ) を読みましたが、Google Chrome で正しく動作させることができません。私が取り組んでいるコードのセグメント:
<html><head>
<script src="loadxmldoc.js"></script>
</head>
<body><script>
xmlDoc=loadXMLDoc("books.xml");
document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("day");
for (var i=0;i<x.length;i++){
document.write("<td><table border='1'>");
document.write("<tr><td>" + x[i].getAttribute("id") + "</td></tr>");
var y=xmlDoc.getElementsByTagName("time");
for (var j=0;j<y.length;j++){
document.write("<tr><td><table border='1'>");
document.write("<tr><td>Location: " + y[j].getAttribute("id") + ": ");
document.write("</table></td></tr>");
}
document.write("</table></td>");
}
document.write("</table>");
</script></body></html>
問題は、 3,3,3,3,1getElementsByTagName
ではy.length
なく、毎回 16 になることです。を使用childNodes
しましたが、テキスト要素が含まれていました。使用var y=x.item(i).children;
しましたが、Chromeでは動作しません。FF で動作するため、Chrome でサポートされていないか、頭の中に何かが欠けていると思われます。ただし、私が見つけたすべてのドキュメントには、これは Chrome で動作するはずであると書かれています。
これは Chrome の正しい使い方ですか、.children
それとも何か問題がありますか?