多个GetElementByID不起作用,如何循环Javascript?

时间:2019-03-27 12:45:26

标签: javascript loops innerhtml getelementbyid

我有多个getElementById正在根据列标题从Google表格中提取数据。当我只有一个getElementById时,它可以很好地工作,但是一旦添加第二个,它就无法工作。有人告诉我我需要循环播放它们,但是现在还不知道如何。如果您能帮助我循环播放它们,我将不胜感激。

function httpGetAsync(theUrl, callback) {
  var xmlHttp = new XMLHttpRequest();
  xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
      callback(xmlHttp.responseText);
  }
  xmlHttp.open("GET", theUrl, true); // true for asynchronous
  xmlHttp.send(null);
}

httpGetAsync('https://spreadsheet.glitch.me/? 
key = 1 JBbAHH1DFtO1r56lr94lUqd8H7qPcHncJskcPq0r96o ', function(response){
var json = JSON.parse(response);

document.getElementById("btm").innerHTML = json[0].btm;
});

document.getElementById("totalpoints").innerHTML = json[1].totalpoints;
});

document.getElementById("btm").innerHTML = json[1].btm;
});

document.getElementById("average").innerHTML = json[4].average;
});

1 个答案:

答案 0 :(得分:3)

您正在使用额外的“});关闭回调函数”在每个document.getElementById ...

之后

删除它们,您的代码应该可以工作。

function httpGetAsync(theUrl, callback)  {
  var xmlHttp = new XMLHttpRequest();
  xmlHttp.onreadystatechange = function() {
  if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
     callback(xmlHttp.responseText);
  }
  xmlHttp.open("GET", theUrl, true); // true for asynchronous
  xmlHttp.send(null);
}

httpGetAsync('https://spreadsheet.glitch.me/?key=1JBbAHH1DFtO1r56lr94lUqd8H7qPcHncJskcPq0r96o', function(response) {
var json = JSON.parse(response);

document.getElementById("btm").innerHTML = json[0].btm;
document.getElementById("totalpoints").innerHTML = json[1].totalpoints;
document.getElementById("btm").innerHTML = json[1].btm;
document.getElementById("average").innerHTML = json[4].average;
});
<div id="btm"></div>
<div id="totalpoints"></div>
<div id="average"></div>