我是Javascript的新手,我只是在尝试打印一个简单的for循环到HTML。
HTML:
<div id="hello"</div>
JS:
var text="";
for (var i=0;i<10;i++) {
document.getElementById("hello").innerHTML=text+i;
}
我的问题是这段代码只输出最后一次迭代&#39; 9&#39;而不是&#39; 0123456789&#39;这就是我想要的。
现在,如果我document.write
,它打印出的数字很好,但我听说这是不好的做法,所以我只想以正确的方式去做。
谢谢
答案 0 :(得分:5)
最好先构建文本内容并将其插入HTML元素一次(以节省一些时间):
var text="";
for (var i=0;i<10;i++) {
text += i;
}
document.getElementById("hello").innerHTML = text;
答案 1 :(得分:2)
您应该使用为变量添加值的加法赋值运算符+=
,因此您在+
之前错过了=
:
document.getElementById("hello").innerHTML += text+i;
注意:使用textContent
代替innerHTML
,因为您只是附加了一个文字,请查看示例。
var text="";
for (var i=0;i<10;i++) {
document.getElementById("hello").textContent += text+i;
}
&#13;
<div id="hello"></div>
&#13;