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 相关文章推荐
js 获取和设置css3 属性值的实现方法
May 06 Javascript
js 跳出页面的frameset框架示例介绍
Dec 23 Javascript
js实现简单选项卡与自动切换效果的方法
Apr 10 Javascript
require.js的用法详解
Oct 20 Javascript
vue.js入门教程之计算属性
Sep 01 Javascript
JS实现点击循环切换显示内容的方法
Oct 19 Javascript
Vue Router去掉url中默认的锚点#
Aug 01 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
Sep 07 Javascript
js回调函数仿360开机
Dec 26 Javascript
JavaScript中的this/call/apply/bind的使用及区别
Mar 06 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
Aug 21 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
Nov 16 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中的string类型使用说明
2010/07/27 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
Python封装shell命令实例分析
2015/05/05 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python实现选择排序
2017/06/04 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
深入理解Python中的super()方法
2017/11/20 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
python实现图像全景拼接
2020/03/27 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
校三好学生主要事迹
2014/01/11 职场文书
计算机系本科生求职信
2014/05/31 职场文书
商场父亲节活动方案
2014/08/27 职场文书
廉洁自律个人总结
2015/02/14 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
nginx内存池源码解析
2021/11/20 Servers
什么是Python装饰器?如何定义和使用?
2022/04/11 Python