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 相关文章推荐
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
May 23 Javascript
javascript二维数组转置实例
Jan 22 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
Feb 25 Javascript
js和jquery分别验证单选框、复选框、下拉框
Dec 17 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
Jan 19 Javascript
深入理解vue路由的使用
Mar 24 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
Apr 04 Javascript
vue2项目使用sass的示例代码
Jun 28 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
JS数组splice操作实例分析
Oct 12 Javascript
Element Breadcrumb 面包屑的使用方法
Jul 26 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
什么是JavaScript
2009/08/13 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
2014/02/04 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
浅谈Python 的枚举 Enum
2017/06/12 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
基于python实现KNN分类算法
2020/04/23 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
python推导式的使用方法实例
2021/02/28 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
Windows和Linux动态库应用异同
2016/04/17 面试题
学生自我鉴定模板
2013/12/30 职场文书
高级编程求职信模板
2014/02/16 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
内勤主管岗位职责
2014/04/03 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
开幕式邀请函
2015/01/31 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android