[英]For loop only outputs last iteration
我是Java的新手,只是在尝试将简单的for循环打印到HTML。
HTML:
<div id="hello"</div>
JS:
var text="";
for (var i=0;i<10;i++) {
document.getElementById("hello").innerHTML=text+i;
}
我的问题是此代码仅输出最后的迭代“ 9”,而不是我想要的“ 0123456789”。
现在,如果我执行document.write
它可以很好地打印出数字,但是我听说这是一种不好的做法,所以我只想以正确的方式进行操作。
谢谢
最好先构建您的文本内容,然后将其插入HTML元素一次(以节省时间):
var text="";
for (var i=0;i<10;i++) {
text += i;
}
document.getElementById("hello").innerHTML = text;
你应该使用加法赋值运算符+=
,增加了一个值的变量,所以你只是缺少+
之前=
在:
document.getElementById("hello").innerHTML += text+i;
注意:使用textContent
而不是innerHTML
因为您仅添加文本,请检查下面的示例。
var text=""; for (var i=0;i<10;i++) { document.getElementById("hello").textContent += text+i; }
<div id="hello"></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.