JavaScript - innerHTML Mult。 IDS

时间:2015-10-16 20:40:21

标签: javascript html

我是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();
}

HTML设置

<div id="post0">
    <div id="posttitle0"></div>
    <div id="posttext0"></div>
</div>

<div id="post1">
    <div id="posttitle1"></div>
    <div id="posttext1"></div>
</div>

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

2 个答案:

答案 0 :(得分:2)

我相信它,因为你有&lt; =会试图抓住一个不存在的元素。

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

答案 1 :(得分:-1)

试试这个并删除“;”在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'];
}