這是一個基本的循環問題。如果我有一個簡單的for循環,例如:顯示循環迭代
function printMe()
{
for(var i = 0; i < 5; i++)
{
document.getElementById("text").innerHTML = i;
}
};
printMe();
當我調用函數,只打印在循環5的最後一個數字可是,我怎樣才能讓它在打印循環的不斷迭代,從而最終列表爲0,1,2,3,4,5
這是一個基本的循環問題。如果我有一個簡單的for循環,例如:顯示循環迭代
function printMe()
{
for(var i = 0; i < 5; i++)
{
document.getElementById("text").innerHTML = i;
}
};
printMe();
當我調用函數,只打印在循環5的最後一個數字可是,我怎樣才能讓它在打印循環的不斷迭代,從而最終列表爲0,1,2,3,4,5
由於您使用的是innerHTML = i
,您將不斷覆蓋innerHTML
的值。這意味着當循環完成運行時,該值將是最後一個值i
。
您想要使用+=
將i
附加到現有值,並且您可能還希望在其之後添加空格以便它們不會粘在一起。
document.getElementById("text").innerHTML += i + " ";
這是
document.getElementById("text").innerHTML = document.getElementById("text").innerHTML + i + " ";
因此速記符號:讓舊值,添加新的價值,在innerHTML
再次存放。
非常感謝!當計時器用完時,將標記爲正確的答案 –
@TheodoreSteiner歡迎您:-) –
的問題是你分配i
到innerHTML
每個循環(未追加+=
),所以它是預期的行爲有唯一的最後一個輸出
嘗試以下將被罰款
function printMe()
{
for(var i = 0; i < 5; i++)
{
var innerHTML = document.getElementById("text").innerHTML;
document.getElementById("text").innerHTML += (innerHTML.length <= 0 ? "" : ", ") + i;
}
};
printMe();
並且如果您還想打印5
,則必須將for循環更改爲for (var i = 0; i < 6; i++)
或for (var i = 0; i <= 5; i++)
您需要編寫一些代碼來讀取現有值,然後使用新值和您想要的逗號對其進行修改。 – Quentin
您一直在更換.innerHTML,但您需要追加它:'document.getElementById(「text」)。innerHTML + = i +「,」;' –