0

我正在读取托管在服务器上的 XML 数据,然后将其显示在 HTML 文档中,为此我执行以下操作:

var a1 = xml.getElementsByTagName('a1')[0].childNodes[0];
var A1 = document.getElementById("A1");
A1.innerHTML = a1.nodeValue;

其中 a1 是存储在服务器上的 XML 的 ID。这个过程我做了很多次,唯一改变的是字段的id,即我有这个:

var a1 = xml.getElementsByTagName('a1')[0].childNodes[0];
var a2 = xml.getElementsByTagName('a2')[0].childNodes[0];
var a3 = xml.getElementsByTagName('a3')[0].childNodes[0];
var a4 = xml.getElementsByTagName('a4')[0].childNodes[0];
var a5 = xml.getElementsByTagName('a5')[0].childNodes[0];

var A1 = document.getElementById("A1");
var A2 = document.getElementById("A2");
var A3 = document.getElementById("A3");
var A4 = document.getElementById("A4");
var A5 = document.getElementById("A5");

A1.innerHTML = a1.nodeValue;
A2.innerHTML = a2.nodeValue;
A3.innerHTML = a3.nodeValue;
A4.innerHTML = a4.nodeValue;
A5.innerHTML = a5.nodeValue;

一切正常并按预期带来数据,但我的问题是,没有办法优化代码以不使用尽可能多的行,即使用类似

for (i=1;i<=5;i++){
    var a[i] = xml.getElementsByTagName('a[i]')[0].childNodes[0];
}

我不知道,这是发生在我身上的事情,我对此很陌生并且已经产生了怀疑,我感谢任何信息,问候!

4

1 回答 1

1

a[i]从哪里来的?您所需要的只是字符串连接:

for(var i = 0; i <= 5; i++) {
    document.getElementById('a' + i).innerHTML = xml.getElementsByTagName('a' + i)[0].firstChild.nodeValue;
}
于 2012-09-22T18:45:23.557 回答