在Javascript中使用For循环的innerHTML

时间:2012-10-21 09:49:10

标签: javascript innerhtml

这是我的编码。在这个编码我想打印在innerHTML中的表

段落标签。这是有效但问题是当我点击提交按钮这个结果只显示最后一个值,如“10 * 10 = 100”但我想要运行我在代码中定义的完整循环,从1到10.请解决这个问题。

<html>
<head>
<title>Table Program</title>
</head>
<body>
<input type="text" id="table" placeholder="Enter table"/>
<input type="button" value="Submit" onClick="table()"/>
<p id="demo"></p>
<!----------------------------------------------------------------------------------------------->
<script type="text/javascript">
function table()
{
    var value = document.getElementById("table").value;
    var demop = document.getElementById("demo");
    var a;
    for(a=1; a <= 10;++a)
    {
        demop.innerHTML=(value+"*"+ a +"="+ value*a);
    }
    }
</script>
</body>
</html>

2 个答案:

答案 0 :(得分:6)

每次执行时,for循环都会覆盖demop的innerHTML。 因此,当您的for循环达到最后一次迭代时,a将为10,因此您只获得最后一个值“10 * 10 = 100”

因此,每次迭代for循环时都应该附加结果 就这样做吧

demop.innerHTML += (value + "*" + a + "=" + (value*a) + "<br />");

因此,您将在单独的行上获得输出。

答案 1 :(得分:1)

当您致电demop.innerHTML = something时,每次都会覆盖它。 你应该:

  • 将整个字符串放入临时result变量中,然后将其提交给innerHTML
  • 通过执行

    连接不同的结果

    demop.innerHTML = demop.innerHTML + (value+"*"+ a +"="+ value*a);