好吧,我是javascript的新手我想做的只是使用for循环方法在屏幕上打印0-10,并且在使用document.write方法时工作正常,但在使用文档时它只打印10。 getElementById方法。
示例1(仅在屏幕上打印10)
<script>
var i = 0;
for(i = 0;i <= 10;i++)
document.getElementById("demo").innerHTML = "This is " + i + "<br/>";
</script>
示例2(工作正常)
<script>
var i = 0;
for(i = 0;i <= 10;i++)
document.write(" This is " + i + "<br/>");
</script>
答案 0 :(得分:1)
尝试如下可能有帮助
var i = 0;
for(i = 0;i <= 10;i++)
document.getElementById("demo").innerHTML += "This is " + i + "<br/>";
&#13;
<div id="demo"></div>
&#13;
答案 1 :(得分:1)
在第一个循环中,您将覆盖相同的元素10次。 .innerHTML
指令擦除元素的内容并写入您传递的值。要获得所需的行为,请将.innerHTMl = ...
更改为.innerHTML += ...
第二个循环将您传递的文本附加到文档的末尾。
答案 2 :(得分:0)
您的第一个示例是:找到ID为demo
的元素,并为其指定innerHtml值。所以你只能看到最终循环的结果。
在您的第二个示例中,write
方法将自动调用document.open()以打开当前文档,并向其写入(追加)内容。另见the document on MDN about document.write