[英]Displaying my console.log on the screen
我有一個JavaScript,可以打印出所有質數1-100,並且正在使用innerHTML打印出結果。 我的控制台給了我數字列表,但是innerHTML給了我一個數字。 100我認為。 如何在控制台中但在ID =“ prime”的div中以相同的方式顯示數字列表?
這是我寫的
for (var i = 1; i <= 100; i++) {
var invalid = false;
for (var j = 2; j <= i; j++) {
if (i % j===0 && j !== i) {
invalid = true;
}
}
if (invalid === false) {
console.log(i);
}
}
document.getElementById('prime').innerHTML = i;
我的Div
<div id="prime"> </div>
我的控制台輸出1,2,3,5,7,11,... 97但我的div輸出101
這是一個CODEPEN
謝謝
document.getElementById('prime').innerHTML += i;
for (var i = 1; i <= 100; i++) { var invalid = false; for (var j = 2; j <= i; j++) { if (i % j===0 && j !== i) { invalid = true; } } if (invalid === false) { console.log(i); document.getElementById('prime').innerHTML += "<br />" + i; } }
<div id="prime"></div>
您需要添加到已經存在的HTML中。
您的代碼放置錯誤。 對於初學者,請這樣輸入:
if (invalid === false) {
console.log(i);
document.getElementById('prime').innerHTML = i;
}
同樣,如果您使用該代碼,它將僅顯示i
的最后一個值。 要解決此問題,請使用+=
代替=
if (invalid === false) {
console.log(i);
document.getElementById('prime').innerHTML += i + " | ";
}
最后,我將在i
后面添加一行(“ |”),以使數字分隔清楚。
您應該在循環的每一步而不是僅在結束時更新innerHTML。 您還應該將每個新數字附加到現有內容上,而不是覆蓋它:
document.getElementById('prime').innerHTML += ' ' + i;
對於水平輸出,將所有內容放入result += i + " "
的字符串中 ,並將其分配給<div>
。
var prime = document.getElementById("prime"), result = ""; // Result is a string for (var i = 1; i <= 100; i++) { var invalid = false; for (var j = 2; j <= i; j++) { if (i % j === 0 && j !== i) { invalid = true; } } if (invalid === false) { result += i + " "; console.log(i); } } prime.innerHTML = result;
<div id="prime"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.