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 利用Image对象实现的埋点(某处的点击数)统计
Dec 28 Javascript
原生javascript兼容性测试实例
Jul 01 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
关于Javascript作用域链的八点总结
Dec 06 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
Sep 01 Javascript
利用transition实现文字上下抖动的效果
Jan 21 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
微信小程序 侧滑删除(左滑删除)
May 23 Javascript
python爬取安居客二手房网站数据(实例讲解)
Oct 19 Javascript
使用js获取伪元素的content实例
Oct 24 Javascript
面包屑导航详解
Dec 07 Javascript
vue 组件 全局注册和局部注册的实现
Feb 28 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关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
JavaScript动态创建form表单并提交的实现方法
2015/12/10 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
Python线程的两种编程方式
2015/04/14 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
销售工作人员的自我评价分享
2013/11/10 职场文书
物流专业求职计划书
2014/01/10 职场文书
建筑个人求职信范文
2014/01/25 职场文书
业务员辞职信范文
2015/03/02 职场文书
2019让人心动的商业计划书
2019/06/27 职场文书
门面租赁合同范文
2019/08/06 职场文书
详解nginx进程锁的实现
2021/06/14 Servers
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python