簡體   English   中英

在屏幕上顯示我的console.log

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

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