原生 JavaScript 实现九九乘法表
利用原生 JavaScript 的 DOM 操作与双重 for 循环即可轻松生成并渲染九九乘法表。本教程详解如何通过 createElement 动态构建表格布局,解决排版间距异常问题,适合前端初学者掌握基础逻辑与页面生成。
效果展示
最终实现的网页效果将呈现一个标准的九宫格形式排列的乘法表。页面加载后,浏览器会自动根据脚本生成对应的算式格子,整齐排列。以下是生成的实际页面截图:
准备条件与思路
实现该功能无需依赖任何第三方库,仅使用浏览器内置的原生 JavaScript API 即可完成。核心逻辑如下:
- 确定容器:获取页面的
<body>元素作为挂载点。 - 定义循环:外层循环控制行数(1 到 9),内层循环控制列数(1 到当前行数)。
- 动态创建:在每次内层循环中,创建一个
<div>元素用于显示算式。 - 注入内容:计算乘积并将文本填入元素,最后追加到容器中。
第 1 步:设置全局样式与清除边距
由于默认情况下浏览器对 p 标签或其他块级元素的渲染包含默认的 margin 和 padding,直接生成的方块可能会有不必要的行间距。为了保证排版紧凑对齐,建议在 CSS 中对通配符进行重置。
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
第 2 步:编写 DOM 生成逻辑
在 <script> 标签中编写核心脚本。首先定义一个包裹层 wrap,以方便后续扩展样式。随后执行嵌套循环,构建每一个乘法单元。
<script type="text/javascript">
// 1. 获取 body 并在其中创建 wrap 容器
var body = document.getElementsByTagName('body')[0];
var wrap = document.createElement('div');
wrap.id = 'mul-table-wrap'; // 建议使用描述性 ID
body.appendChild(wrap);
// 2. 双重循环生成九九乘法表
for (var i = 1; i < 10; i++) { // 行:1 到 9
for (var j = 1; j <= i; j++) { // 列:1 到当前行号
// 3. 创建单个算式格子
var cell = document.createElement('div');
// 4. 设置格子样式 (CSS In JS 方式)
cell.style.width = '80px'; // 适当宽度以适应算式长度
cell.style.height = '30px';
cell.style.lineHeight = '30px'; // 文字垂直居中
cell.style.backgroundColor = '#f9f9f9';
cell.style.display = 'inline-block'; // 允许同行并排
cell.style.border = '1px solid #ccc';
cell.style.textAlign = 'center'; // 文字水平居中
// 5. 拼接算式文本 (例如: 2*3=6)
cell.innerHTML = j + " * " + i + " = " + (j * i);
// 6. 将格子加入 wrap
wrap.appendChild(cell);
}
// 7. 换行处理:虽然 display:inline-block 配合 div 不会自动换行
// 但为了兼容更简单的布局或确保每行结束,可以手动添加
或使用 flexbox
// 这里采用原逻辑保留换行符号以保持原始结构一致性
var br = document.createElement('br');
wrap.appendChild(br);
}
</script>
完成判断与注意事项
- 视觉对齐:如果使用现代 CSS Flexbox 替代上述
break换行方案,排版会更加灵活且易于响应式适配。但在简单 Demo 中,上述方法足以呈现结果。 - 样式优化:生产环境中建议将行内样式剥离至 CSS 类中(如
.cell-item),以提高可维护性。 - 浏览器兼容性:以上语法兼容所有主流现代浏览器及 IE9+。
简要总结
以上就是通过原生 JavaScript 和 DOM 接口实现九九乘法表的详细内容。该方法展示了基础的遍历逻辑与页面动态渲染能力,更多关于前端 DOM 操作的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













