Javascript中带有For循环的innerHTML
这是我的代码。在这个编码中,我想在段落标记中以innerHTML打印表格。这是可行的,但问题是当我单击submit按钮时,这个结果只显示像这样的最后一个值“10*10=100”,但我想运行我在代码中定义的从1到10的完整循环。请解决这个问题Javascript中带有For循环的innerHTML,javascript,innerhtml,Javascript,Innerhtml,这是我的代码。在这个编码中,我想在段落标记中以innerHTML打印表格。这是可行的,但问题是当我单击submit按钮时,这个结果只显示像这样的最后一个值“10*10=100”,但我想运行我在代码中定义的从1到10的完整循环。请解决这个问题 <html> <head> <title>Table Program</title> </head> <body> <input type="text" id="table" pl
<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>
表程序
函数表()
{
var值=document.getElementById(“表”).value;
var demo=document.getElementById(“demo”);
var a;
对于(a=1;a当您调用demo.innerHTML=something
时,每次都会覆盖它。
你应该:
- 将整个字符串放入一个临时
结果
变量中,然后将其交给innerHTML
- 通过执行以下操作连接不同的结果
deop.innerHTML=deop.innerHTML+(value+“*”+a+“=”+value*a);
您的for
循环每次执行时都会覆盖deop
的内部HTML。
因此,当您的for
循环到达最后一次迭代时,a
将为10,因此您只得到最后一个值“10*10=100”
因此,您应该在每次迭代for循环时追加结果
就这样吧
demo.innerHTML++=(value++“*”+a++“=”+(value*a)+“
”);
因此,您将在单独的行中获得输出。谢谢您的帮助。先生,您完全正确。我已经这样做了,但现在我的另一个问题是,我想在请求新表时清除表。请告诉我应该做什么?对于第二个问题,在您的for
循环编写此代码之前,请做一件事demo.innerHTML=“”
因此它将清除您的
标记中的所有内容。您能告诉我哪个网站或哪个公司的教程最好(所有编程教程)。我浏览过许多网站,但没有一个网站是所有教程的一站式。你应该根据自己的需要浏览许多网站,因为每个网站都有一些特殊的内容需要了解,而不是依赖于单个网站。