Javascript getElementById 覆盖问题

发布于 2024-08-25 16:27:33 字数 402 浏览 4 评论 0原文

我有一个关于 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

魄砕の薆 2024-09-01 16:27:34

附加,而不是分配。

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);
}

Append, don't assign.

content.innerHTML += html;

Better yet, use standard 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);
}
红墙和绿瓦 2024-09-01 16:27:34

您只能获得一个值,因为您在每次循环迭代期间设置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;.

星星的轨迹 2024-09-01 16:27:34
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;
}
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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文