繁体   English   中英

为什么我不能用 `var output = document.getElementById('message').innerHTML;` 做一个循环

[英]why can't I do a loop with `var output = document.getElementById('message').innerHTML;`

请您解释一下,如果我想在第二个示例中将 'innerHTML' 存储在 'output' 变量中,为什么我不能做一个循环?内部HTML;'

var x = 0;
var output = document.getElementById('message');
do {
  output.innerHTML = output.innerHTML + x;
  x = x + 1;
}
while (x < 6);
------------------------------------------------------------                                                                
var x = 0;
var output = document.getElementById('message').innerHTML;
do {
  output = output + x;
  x = x + 1;
}
while (x < 6);

如果您对为什么不能在output = output +x中的output中添加innerHTML感到困惑,但第一个示例可以。 这是因为第一个示例 output 应该存储类似[object...]的内容。 所以每次output.InnerHTML都会不断更新。 对于第二个示例,您已经将output设置为messageinnerHTML并且它已经成为一个字符串,而不是html 所以你不能使用innerHTML来改变任何东西。 innerHTML only help to change the value of这就是循环不起作用的原因。 在此处输入图像描述

循环有效,但您不能添加类似这样的内容 var output = document.getElementById('message').innerHTML; output = output + x;

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM