从javascript函数多次在段落元素中显示数字
我希望在html中ID=“demo”的段落元素中多次显示JavaScript函数中的数字(从循环中) 运行程序时,我的浏览器网页冻结 有什么问题从javascript函数多次在段落元素中显示数字,javascript,html,Javascript,Html,我希望在html中ID=“demo”的段落元素中多次显示JavaScript函数中的数字(从循环中) 运行程序时,我的浏览器网页冻结 有什么问题 <!DOCTYPE html> <html> <script> function func(x) { for (var i=0;i<10;i++) document.getElementbyId("demo").innerHTML=(x*i)+"</br>"; }
<!DOCTYPE html>
<html>
<script>
function func(x)
{
for (var i=0;i<10;i++)
document.getElementbyId("demo").innerHTML=(x*i)+"</br>";
}
</script>
<body>
<form>
input year:
<input type="text" id="year">
<input type="button" value="find type" onclick="func(year.value);">
</form>
<p id="demo"></p>
</body>
函数func(x)
{
对于(var i=0;i不确定浏览器冻结的原因——可能是因为getElementbyId
(应该是getElementbyId
)中的输入错误,所以没有看到结果
第二个问题:每次通过for
循环都会覆盖以前的循环,因此只能看到最后一次迭代的结果
相反,在循环的每个过程中附加HTML,或者将其收集到变量中,并在最后将其放入文档中,就像我在这里所做的那样:
函数func(x){
var ret=“”;
对于(变量i=0;i<10;i++){
ret+=(x*i)+“
”;//不正确;
不是必需的
}
document.getElementById(“demo”).innerHTML=ret;
}
投入年份:
为什么input year不在标签中?我认为这不会改变问题。如果JS中有一个输入错误,那么您使用的是getElementbyId
,而不是getElementbyId
,但这不应该冻结浏览器,问题一定在其他地方。