zoukankan      html  css  js  c++  java
  • 动态生成表格

    代码:

      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>

    效果:

  • 相关阅读:
    Linux系统启动流程
    linux系统目录介绍
    Nginx 安装配置教程
    深入理解linux系统的目录结构
    Mac 下安装Ruby环境(转)
    Android逆向之旅---SO(ELF)文件格式详解(转)
    TAG-9F10 发卡行相关数据(转)
    公钥,私钥,数字证书,签名,加密,认证,的概念区分(转)
    PBOC~PPT-补充内容B(转)
    PBOC~PPT-补充A(转)
  • 原文地址:https://www.cnblogs.com/cy1227/p/12862541.html
Copyright © 2011-2022 走看看