簡體   English   中英

For循環僅輸出最后一次迭代

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM