首页 > 其他 > 详细

动态生成表格

时间:2020-05-10 11:59:48      阅读:50      评论:0      收藏:0      [点我收藏+]

代码:

  1 <!DOCTYPE html>
  2 <html lang="en">
  3     <meta charset="UTF-8">
  4     <title>动态生成表格</title>
  5     
  6     <head>
  7         <style>
  8             /*
  9             案例分析:1.里面的学生数据是动态的,需要js动态生成,数据采取对象形式存储
 10                     2.所有的数据都是放到tbody里面的行里面。
 11                     3.因为行很多,我们需要循环创建很多行。
 12                     4.最后一列单元格是删除,需要单独创建单元格
 13             */
 14             *{
 15                 margin: 0;
 16                 padding: 0;
 17             }
 18             table{
 19                 width: 500px;
 20                 margin: 100px auto;
 21                 text-align: center;
 22                 border-collapse: collapse;  /*border-collapse 属性设置表格的边框是否被折叠成一个单一的边框或隔开;*/
 23             }
 24             td,th{
 25                 border: 1px solid black;
 26             }
 27             thead tr{
 28                 height: 40px;
 29                 background-color: #ccc;
 30             }
 31         </style>
 32     </head>
 33     <body>
 34         <table cellspacing="0">
 35             <thead>
 36                 <tr>
 37                     <th>姓名</th>
 38                     <th>科目</th>
 39                     <th>成绩</th>
 40                     <th>操作</th>
 41                 </tr>
 42             </thead>
 43             <tbody>
 44 
 45             </tbody>
 46         </table>
 47         <script>
 48             //1.先准备学生的数据
 49             var datas = [
 50                 {
 51                     name: 卫英络,
 52                     subject: JavaScript,
 53                     score: 100
 54                 },{
 55                     name: 明玉,
 56                     subject: JavaScript,
 57                     score: 88
 58                 },{
 59                     name: 富恒,
 60                     subject: JavaScript,
 61                     score: 96
 62                 },{
 63                     name: 红利,
 64                     subject: JavaScript,
 65                     score: 98
 66                 }
 67             ];
 68             //2.往tbody里面创建行,有几个人(通过数组的长度)我们就创建几行
 69             var tbody = document.querySelector(tbody);
 70             for(var i = 0;i < datas.length; i++){
 71                 //1.创建tr行
 72                 var tr = document.createElement(tr);
 73                 tbody.appendChild(tr);
 74                 //2.行里面创建单元格(跟数据有关系的3个单元格) td 单元格的数量取决于每个对象里面的属性个数  for循环遍历对象
 75                 for(var j in datas[i]){//里面的for循环管列td
 76                     //创建单元格
 77                     var td = document.createElement(td);
 78                     //把对象里面的属性值 给td
 79                     td.innerHTML = datas[i][j];
 80                     tr.appendChild(td);
 81                 }  
 82                 //3.创建有删除2个字的单元格
 83                 var td = document.createElement(td);
 84                 td.innerHTML = <a href = "javascript:;">删除</a>
 85                 tr.appendChild(td);
 86             }
 87 
 88             /*
 89             for(var k in object){
 90                 k 得到的是属性名
 91                 obj[k]得到的是属性值
 92             }
 93             */
 94 
 95             //4.删除操作开始
 96             var as = document.querySelectorAll(a);
 97             for(var i = 0; i < as.length; i++){
 98                 as[i].onclick = function(){
 99                     //点击a删除当前a所在的行(链接的爸爸的爸爸)node.removeChild(child)
100                     tbody.removeChild(this.parentNode.parentNode);
101                 }
102             }
103         </script>
104     </body>
105 
106 </html>

效果:

技术分享图片

动态生成表格

原文:https://www.cnblogs.com/cy1227/p/12862541.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!