我有一个关于Javascript的简单问题。我试图在循环中打印一些值到div容器。问题是,在循环中多次打印该值,每次都被覆盖,因此我只得到一个值。请参阅以下代码:
for (i=0; i<json.Locations.length; i++) {
var location = json.Locations[i];
var content = document.getElementById('eventsnearby');
var html = location.name;
content.innerHTML = html;
}
欢迎任何想法。感谢。
答案 0 :(得分:4)
追加,不要分配。
content.innerHTML += html;
更好的是,使用标准DOM。
var content = document.getElementById('eventsnearby');
for (var i = 0; i < json.Locations.length; i++) {
var text = json.Locations[i].name;
var node = document.createTextNode(text);
content.appendChild(node);
}
答案 1 :(得分:1)
您只获得一个值,因为您在每次循环迭代期间设置innerHTML属性而不是附加到它。尝试使用content.innerHTML += html;
。
答案 2 :(得分:1)
for (i=0; i<json.Locations.length; i++) {
var location = json.Locations[i];
var content = document.getElementById('eventsnearby');
var html = location.name;
content.innerHTML += html;
}