innerHTML with For Loop in Javascript

好久不见. 提交于 2019-12-18 17:15:09

问题


this is my coding. in this coding i want to print table in innerHTML in

paragraph tag.This is working but the problem is when i click submit button this result show only last value like this "10*10=100" but i want to run full loop which i define in code from 1 till 10. Please solve this issue.

<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>

回答1:


Your for loop is overwriting the innerHTML of demop each time it is executing. So when your for loop reaches last iteration a will be 10 and hence you only get the last value "10*10=100"

So you should append the result every time you iterate your for loop just make it like this

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

So you will get your output on seperate lines.




回答2:


When you call demop.innerHTML = something you overwrite it each time. You should either:

  • Put the entire string in a temporary result variable and then give it to innerHTML
  • Concatenate the different results by doing

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



来源:https://stackoverflow.com/questions/12996763/innerhtml-with-for-loop-in-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!