问题:
当我使用相同的变量在java脚本中保存不同的数据类型时, 并且尝试显示所有值,它不显示除了它所持有的最后一个值之外的所有值。有没有其他方法可以显示具有相同变量的所有数据类型值?
脚本:
<script>
var x;
document.getElementById("demo").innerHTML = x;
x = 5;
document.getElementById("demo").innerHTML = x;
x = "John";
document.getElementById("demo").innerHTML = x;
</script>
预期结果:
未定义 五 约翰
实际结果:
约翰
答案 0 :(得分:3)
var x;
document.getElementById("demo").innerHTML += x + ' ';
x = 5;
document.getElementById("demo").innerHTML += x + ' ';
x = "John";
document.getElementById("demo").innerHTML += x + ' ';
&#13;
<div id="demo"> </div>
&#13;
每次你设置innerHTML你都会覆盖你需要添加的内容,如下所示。
document.getElementById("demo").innerHTML += x + '<br/>';
答案 1 :(得分:2)
您的变量正在正确分配不同的值,但您在同一DOM元素中显示所有三个实例。每次分配时,当前值都会覆盖最后一个值。它发生得如此之快,你只能看到最后一个(“约翰”)。
为什么不将每个人放在不同的DOM元素中?
var x;
document.getElementById("demo1").innerHTML = x;
x = 5;
document.getElementById("demo2").innerHTML = x;
x = "John";
document.getElementById("demo3").innerHTML = x;
答案 2 :(得分:1)
我想评论Scath答案,但我无法发表评论。
就像其他人说你要替换de content一样,你应该使用连接。
但是我会使用br标签而不是'\ n'来获得预期的结果。
<script>
var x;
document.getElementById("demo").innerHTML = x+ '<br/>';
x = 5;
document.getElementById("demo").innerHTML += x+ '<br/>';
x = "John";
document.getElementById("demo").innerHTML += x+ '<br/>';
</script>