在屏幕上显示我的console.log

时间:2016-11-10 23:03:32

标签: javascript

我有一个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 id="prime"> </div>

我的控制台输出1,2,3,5,7,11,... 97但我的div输出101

这是CODEPEN

感谢

4 个答案:

答案 0 :(得分:2)

document.getElementById('prime').innerHTML += i;

&#13;
&#13;
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;
   }
}
&#13;
<div id="prime"></div>
&#13;
&#13;
&#13;

您需要添加到现有的HTML。

答案 1 :(得分:2)

您的代码放置错误。对于初学者来说,就这样说:

Traceback (most recent call last):
  File "test.py", line 12, in <module>
    with my_content_manager() as cm:
  File "C:\Users\abc\AppData\Local\Programs\Python\Python36\lib\contextlib.py", line 82, in __enter__
    return next(self.gen)
  File "test.py", line 5, in my_content_manager
    self.entrance = True
NameError: name 'self' is not defined

此外,如果您使用该代码,它只会显示 if (invalid === false) { console.log(i); document.getElementById('prime').innerHTML = i; } 最后值。要解决此问题,请使用i代替+=

=

最后,我在if (invalid === false) { console.log(i); document.getElementById('prime').innerHTML += i + " | "; } 后面添加一行(&#34; |&#34;),以便明确数字位置。

答案 2 :(得分:1)

您应该在循环中的每个步骤更新innerHTML,而不是仅在结尾处更新。您还应该将每个新号码附加到现有内容而不是覆盖它:

document.getElementById('prime').innerHTML += ' ' + i;

答案 3 :(得分:1)

对于输出水平,将所有内容放在带有result += i + " "字符串中,并将其分配给<div>

&#13;
&#13;
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;
&#13;
<div id="prime"></div>
&#13;
&#13;
&#13;