JavaScript动态生成表格的示例


Posted in Javascript onNovember 02, 2020

要求:

HTML标签只写一行表头
通过JS来写动态的表格(有多少组数据,就自动创建多少行表格)
为学习和演示,采用固定的数据,不涉及调用后台数据

代码实现:
HTML内容:

<table cellspacing="0">
  <thead>
    <tr>
      <th>姓名</th>
      <th>科目</th>
      <th>成绩</th>
      <th>操作</th>
    </tr>
  </thead>
  <tbody></tbody>
</table>

CSS内容:

table {
  width: 500px;
  margin: 100px auto;
  border-collapse: collapse;
  text-align: center;
}

td,
th {
  border: 1px solid #333;
}

thead tr {
  height: 40px;
  background-color: #ccc;
}

JS内容:

// 1.先准备好学生的数据,用数组形式储存,每个数组元素是一个对象
var datas = [{
  name: '张三',
  subject: 'JavaScript',
  score: 100
}, {
  name: '李四',
  subject: 'JavaScript',
  score: 98
}, {
  name: '王五',
  subject: 'JavaScript',
  score: 99
}, {
  name: '赵六',
  subject: 'JavaScript',
  score: 88
}, {
  name: '哈哈',
  subject: 'JavaScript',
  score: 0
}];
// 2. 往tbody 里面创建行: 有几个人(通过数组的长度)我们就创建几行
var tbody = document.querySelector('tbody');
for (var i = 0; i < datas.length; i++) { // 外面的for循环管行 tr
  // 1. 创建 tr行
  var tr = document.createElement('tr');
  tbody.appendChild(tr);
  // 2. 行里面创建单元格(跟数据有关系的3个单元格) td 单元格的数量取决于每个对象里面的属性个数 for循环遍历对象 datas[i]
  for (var k in datas[i]) { // 里面的for循环管列 td
    // 创建单元格 
    var td = document.createElement('td');
    // 把对象里面的属性值 datas[i][k] 给 td 
    // console.log(datas[i][k]);
    td.innerHTML = datas[i][k];
    tr.appendChild(td);
  }
  // 3. 创建有删除2个字的单元格 
  var td = document.createElement('td');
  td.innerHTML = '<a href="javascript:;" rel="external nofollow" >删除</a>';
  tr.appendChild(td);

}
// 4. 删除操作
var as = document.querySelectorAll('a');
for (var i = 0; i < as.length; i++) {
  as[i].onclick = function() {
    // 点击a删除 当前a所在的行(a父节点的父节点) node.removeChild(child) 
    tbody.removeChild(this.parentNode.parentNode)
  }
}
// for(var k in obj) {
//   k 得到的是属性名
//   obj[k] 得到是属性值
// }

实现效果:

JavaScript动态生成表格的示例

点击删除按钮,相应的行会删除。
点击删除“张三”的数据:

JavaScript动态生成表格的示例

以上就是JavaScript动态生成表格的示例的详细内容,更多关于JavaScript 生成表格的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
javascript import css实例代码
Jul 18 Javascript
js Date自定义函数 延迟脚本执行
Mar 10 Javascript
查看源码的工具 学习jQuery源码不错的工具
Dec 26 Javascript
JQuery之focus函数使用介绍
Aug 20 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
Mar 12 Javascript
js 动态修改css文件的方法
Aug 05 Javascript
Three.js学习之几何形状
Aug 01 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 Javascript
js+html获取系统当前时间
Nov 10 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 Javascript
总结4个方面优化Vue项目
Feb 11 Javascript
浅谈react useEffect闭包的坑
Jun 08 Javascript
JavaScript实现图片放大预览效果
Nov 02 #Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
Nov 02 #Javascript
在antd4.0中Form使用initialValue操作
Nov 02 #Javascript
vue+iview使用树形控件的具体使用
Nov 02 #Javascript
在antd Form表单中select设置初始值操作
Nov 02 #Javascript
react+antd 递归实现树状目录操作
Nov 02 #Javascript
antd form表单数据回显操作
Nov 02 #Javascript
You might like
PHP 第二节 数据类型之转换
2012/04/28 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
分享php邮件管理器源码
2016/01/06 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
跟老齐学Python之重回函数
2014/10/10 Python
Python编程求质数实例代码
2018/01/31 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
python实现无边框进度条的实例代码
2020/12/30 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
营业员个人总结的自我评价
2013/10/25 职场文书
大三预备党员入党思想汇报
2014/01/08 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
十八大感想感言
2014/02/10 职场文书
《美丽的田园》教学反思
2014/03/01 职场文书
租赁意向书范本
2014/04/01 职场文书
妇女工作先进事迹
2014/08/17 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
队列队形口号
2015/12/25 职场文书
5道关于python基础 while循环练习题
2021/11/27 Python