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系列之Javascript基础篇
Jun 07 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
Oct 11 Javascript
3种不同方式的焦点图轮播特效分享
Oct 30 Javascript
在javascript中如何得到中英文混合字符串的长度
Jan 17 Javascript
jQuery实现简单的日期输入格式化控件
Mar 12 Javascript
AngularJS  ng-table插件设置排序
Sep 21 Javascript
vue下跨域设置的相关介绍
Aug 26 Javascript
浅谈JS函数节流防抖
Oct 18 Javascript
vue通过点击事件读取音频文件的方法
May 30 Javascript
vue发送ajax请求详解
Oct 09 Javascript
Flutter实现仿微信底部菜单栏功能
Sep 18 Javascript
vscode+gulp轻松开发小程序的完整步骤
Oct 18 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教程 预定义变量
2009/10/23 PHP
用PHP读取和编写XML DOM的实现代码
2011/02/03 PHP
处理单名多值表单的详解
2013/06/08 PHP
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
计算机专业推荐信范文
2013/11/27 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
节电标语大全
2014/06/23 职场文书
医院合作协议书
2014/08/19 职场文书
少先队活动总结
2014/08/29 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL