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 ajax分页插件实例代码
Jan 27 Javascript
Javascript实现代码折叠功能
Aug 25 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
Apr 10 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
May 06 Javascript
vue组件实现可搜索下拉框扩展
Oct 23 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
Sep 21 Javascript
微信小程序开发问题之wx.previewImage
Dec 25 Javascript
微信小程序实现左滑动删除效果
Mar 30 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
Apr 10 Javascript
vue element ui validate 主动触发错误提示操作
Sep 21 Javascript
vue 二维码长按保存和复制内容操作
Sep 22 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注释实例技巧
2008/10/03 PHP
php HtmlReplace输入过滤安全函数
2010/07/03 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
python安装scipy的方法步骤
2019/06/26 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
Python如何实现动态数组
2019/11/02 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
python ETL工具 pyetl
2020/06/07 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
大学生水文观测实习自我鉴定
2013/09/29 职场文书
后勤工作职责
2013/12/22 职场文书
乡下人家教学反思
2014/02/01 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python