JavaScript动态生成表格的示例

 更新时间:2020年11月02日 11:07:48   作者:火星飞鸟  
这篇文章主要介绍了JavaScript动态生成表格的示例,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下

要求:

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 生成表格的资料请关注脚本之家其它相关文章!

相关文章

  • uniapp中使用vuex并持久化的方法示例

    uniapp中使用vuex并持久化的方法示例

    vuex是基于vuex.js的状态管理工具,可以把它理解为一个仓库,下面这篇文章主要给大家介绍了关于uniapp中如何使用vuex并持久化的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • ES6中Set和Map数据结构的简单讲解

    ES6中Set和Map数据结构的简单讲解

    大家心里是否产生过这样的疑问,JS中既然已经有对象这种数据结构,我们为什么还要再单独去使用Set或者Map呢?下面这篇文章主要给大家介绍了关于ES6中Set和Map数据结构的相关资料,需要的朋友可以参考下
    2022-08-08
  • 微信小程序实现通讯录列表展开收起

    微信小程序实现通讯录列表展开收起

    这篇文章主要为大家详细介绍了微信小程序实现通讯录列表展开收起,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 如何使用webpack打包一个库library的方法步骤

    如何使用webpack打包一个库library的方法步骤

    这篇文章主要介绍了如何使用webpack打包一个库library的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Js控制滑轮左右滑动实例

    Js控制滑轮左右滑动实例

    这篇文章主要介绍了Js控制滑轮左右滑动实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-02-02
  • js正则test匹配的踩坑及解决

    js正则test匹配的踩坑及解决

    这篇文章主要为大家介绍了正则test匹配的踩坑示例讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • JavaScript 面向对象与原型

    JavaScript 面向对象与原型

    这篇文章主要介绍了JavaScript 面向对象与原型,需要的朋友可以参考下
    2015-04-04
  • 如何用js判断dom是否有存在某class的值

    如何用js判断dom是否有存在某class的值

    本文主要介绍了如何用javascript判断dom是否有存在某class的值。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • js实现鼠标单击Tab表单切换效果

    js实现鼠标单击Tab表单切换效果

    这篇文章主要为大家详细介绍了js实现鼠标单击Tab表单切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 用Javascript同时提交多个Web表单的方法

    用Javascript同时提交多个Web表单的方法

    使用Javascript同时提交多个Web表单的方法
    2009-12-12

最新评论