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

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

<!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中。

相关推荐
半点寒12W2 分钟前
uniapp全局状态管理实现方案
前端
Vertira3 分钟前
pdf 合并 python实现(已解决)
前端·python·pdf
不良手残7 分钟前
IDEA类和方法注释模板设置-保姆教程
java·开发语言
项目題供诗24 分钟前
黑马python(二十四)
开发语言·python
PeterJXL37 分钟前
Chrome 下载文件时总是提示“已阻止不安全的下载”的解决方案
前端·chrome·安全
就改了1 小时前
JUC小册——公平锁和非公平锁
java·开发语言
hackchen1 小时前
从0到1解锁Element-Plus组件二次封装El-Dialog动态调用
前端·vue.js·elementui
君子宜耘心1 小时前
el-table虚拟列表封装
前端
黄瓜沾糖吃1 小时前
大佬们指点一下倒计时有什么问题吗?
前端·javascript
温轻舟1 小时前
3D词云图
前端·javascript·3d·交互·词云图·温轻舟