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替换table中的内容并显示进度条的代码
Aug 02 Javascript
优化innerHTML操作(提高代码执行效率)
Aug 20 Javascript
jQuery右键菜单contextMenu使用实例
Sep 28 Javascript
jquery 插件学习(一)
Aug 06 Javascript
javascript:void(0)是什么意思示例介绍
Nov 17 Javascript
防止登录页面出现在frame中js代码
Jul 22 Javascript
通过JS动态创建一个html DOM元素并显示
Oct 15 Javascript
AngularJS入门教程(二):AngularJS模板
Dec 06 Javascript
使用jQuery管理选择结果
Jan 20 Javascript
js 递归和定时器的实例解析
Feb 03 Javascript
使用vue实现一个电子签名组件的示例代码
Jan 06 Javascript
vue操作dom元素的3种方法示例
Sep 20 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 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
Python中多线程thread与threading的实现方法
2014/08/18 Python
Python and、or以及and-or语法总结
2015/04/14 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
大学生应聘自荐信
2013/10/11 职场文书
毕业生自荐信的主要内容
2013/10/29 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
优秀毕业生求职信
2014/06/05 职场文书
销售提升方案
2014/06/07 职场文书
社团个人总结范文
2015/03/05 职场文书
关于迟到的检讨书
2015/05/06 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript