为什么没有输出九九乘法表?

下面的程序本来想输出九九乘法表到屏幕上,为什么没有输出呢?怎样修改?

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>我的HTML练习</title>

<!--preload-links-->

<!--app-context-->

</head>

<body>

<div id="jiujiubiao">

<script>

for(var a=1;a<=9; a++){

for(var b=1;b<=a;b++){

document.write(b+"*"+a+"="+a*b+"&nbsp"+"&nbsp"+"&nbsp"+"&nbsp");

}

document.write("<br />")

}

</script>

</div>

</body>

</html>

经过查询,解决办法如下:

你的程序没有打印内容的原因是因为你将九九乘法表的内容写在了<script>标签内部,而应该将它写在<div>标签内部。

请将<script>标签内的代码移动到<div>标签内的位置,然后再运行程序。

修改后的代码如下所示:

复制代码
<html>
	<head>
		<meta charset="utf-8" />
		<title>我的HTML练习</title>
		<!--preload-links-->
		<!--app-context-->
	</head>
	<body>
		<div id="jiujiubiao">
			<script>
			for(var a=1;a<=9; a++){
				for(var b=1;b<=a;b++){
					document.write(b+"*"+a+"="+a*b+"&nbsp"+"&nbsp"+"&nbsp"+"&nbsp");
				}
				document.write("<br />")
			}	
			</script>
		</div>
	</body>
</html>

上面说的要移动到<div>内部,实际给出的结果却没有移动出来。你试试看。

实际上,问题的原因是<script/>放置的位置不对,应该在<head>内部,放在其他地方的《script》会被解释器忽略。

修改办法是将JavaScript代码放在页面加载完成后执行,可以将代码放在<body>标签的末尾,或者使用window.onload事件来确保页面加载完成后再执行JavaScript代码。可以将你的代码修改为以下形式:

<html>

<head>

<meta charset="utf-8" />

</head>

<body> <div id="jiujiubiao"></div>

<script> window.onload = function () { var div = document.getElementById("jiujiubiao"); for (var a = 1; a <= 9; a++) { for (var b = 1; b <= a; b++) { div.innerHTML += b + "*" + a + "=" + a * b + "&nbsp" + "&nbsp" + "&nbsp" + "&nbsp"; } div.innerHTML += "<br />"; } } </script> </body> </html>

这样修改后,页面加载完成后,JavaScript代码会将结果输出到id为jiujiubiao的div中。

相关推荐
Jerry30 分钟前
使用 Material 3 在 Compose 中设置主题
前端
耶啵奶膘36 分钟前
uni-app头像叠加显示
开发语言·javascript·uni-app
chéng ௹37 分钟前
uniapp 封装uni.showToast提示
前端·javascript·uni-app
看海天一色听风起雨落43 分钟前
Python学习之装饰器
开发语言·python·学习
Want5951 小时前
C/C++圣诞树①
c语言·开发语言·c++
生擒小朵拉1 小时前
STM32添加库函数
java·javascript·stm32
老赵的博客1 小时前
c++ 杂记
开发语言·c++
jimmy.hua1 小时前
[C++刷怪笼]:set/map--优质且易操作的容器
开发语言·c++
tuokuac1 小时前
nginx配置前端请求转发到指定的后端ip
前端·tcp/ip·nginx
程序员爱钓鱼1 小时前
Go语言实战案例-开发一个Markdown转HTML工具
前端·后端·go