Javascript getElementById 覆盖问题
我有一个关于 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;
}
欢迎任何想法。谢谢。
I have a simple question concerning Javascript. I am trying to print in a loop some values to div container. The problem is that instead printing the value several times in a loop, each time it is overwritten and as a result I get only one value. See the code below:
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;
}
Any ideas welcomed. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
附加,而不是分配。
更好的是,使用标准 DOM。
Append, don't assign.
Better yet, use standard DOM.
您只能获得一个值,因为您在每次循环迭代期间设置innerHTML 属性,而不是附加到它。尝试使用
content.innerHTML += html;
。You only get one value because you're setting the innerHTML property during each loop iteration instead of appending to it. Try using
content.innerHTML += html;
.