这是我的代码:
xmlhttp.onreadystatechange = function () {
if (this.readyState == 4)
if( this.status == 200) {
response = xmlhttp.responseXML;
var channel = response.documentElement;
var title = channel.getElementsByTagName("title")[0].firstChild.nodeValue;
var parent = document.getElementById("journalTitle");
parent.innerHTML = title;
var articleList = document.getElementById("articleList");
item = channel.getElementsByTagName("item");
var list = new Array();
itemSize = (channel.getElementsByTagName("item").length);
var i =0;
do{
list[i] = item[i].getElementsByTagName("title")[0].firstChild.nodeValue;
item = document.createElement("div");
item.innerHTML = list[i];
articleList.appendChild(item);
i++;
}while(i=itemSize);
}
size
变量是 22,当我写它时,alert(item[5].getElementsByTagName("title")[0].firstChild.nodeValue);
它显示了第五个元素,依此类推,但在循环中它只理解 item 的第一个元素,其余的它返回错误:
Uncaught TypeError: Cannot call method 'getElementsByTagName' of undefined