JavaScript - innerHTML Mult. Ids

JavaScript - innerHTML Mult. Ids

本文关键字:Ids Mult innerHTML JavaScript      更新时间:2023-09-26

我是javascript的新手,我试图通过ID填充多个div。

到目前为止,我有:

function run() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
    obj = JSON.parse(xhttp.response);
    for (var i = 0; i <= obj.length; i++) {
    document.getElementById("posttitle"+i).innerHTML = obj[i]['title'];
    };
    for (var i = 0; i <= obj.length; i++) {
    document.getElementById("posttext"+i).innerHTML = obj[i]['content'];
    };
    }
  }
  xhttp.open("GET", "http://xxxx", true);
  xhttp.send();
}

设置

<div id="post0">
    <div id="posttitle0"></div>
    <div id="posttext0"></div>
</div>
<div id="post1">
    <div id="posttitle1"></div>
    <div id="posttext1"></div>
</div>

我可以单独填写posttext [I]或posttitle[I]的div,但当我一起运行它们时,只有第一个才在函数中工作/填充id。我错过了什么?谢谢!

我相信这是因为你有<=,它会试图抓取一个不存在的元素。

for (var i = 0; i < obj.length; i++) {
    document.getElementById("posttitle"+i).innerHTML = obj[i]['title'];
    document.getElementById("posttext"+i).innerHTML = obj[i]['content'];
};

试着去掉for

后面的";"
for (var i = 0; i <= obj.length; i++) {
document.getElementById("posttitle"+i).innerHTML = obj[i]['title'];
document.getElementById("posttext"+i).innerHTML = obj[i]['content'];
}