我是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。我错过了什么?谢谢!
答案 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'];
}