动态生成表格

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      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;
      }
    </style>
  </head>
  <body>
    <table cellspacing="0">
      <thead>
        <tr>
          <th>姓名</th>
          <th>科目</th>
          <th>成绩</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody></tbody>
    </table>

    <script>
      //   先准备好学生的数据
      //   数组里面放对象来存储学生数据
      var datas = [
        {
          name: "魏璎洛",
          subject: "JavaScript",
          score: 100,
        },
        {
          name: "小乔",
          subject: "JavaScript",
          score: 98,
        },
        {
          name: "傅恒",
          subject: "JavaScript",
          score: 99,
        },
        {
          name: "明玉",
          subject: "JavaScript",
          score: 99,
        },
      ];
      //   ----------------------------
      //   2. 往tbody 里面创建行 : 有几个人(数组的长度) 就创建几行
      var tbody = document.querySelector("tbody");
      for (var i = 0; i < datas.length; i++) {
        // 外面的for循环 管行 tr
        //   创建 tr 行
        var tr = document.createElement("tr");
        tbody.appendChild(tr);
        // 行 里面创建单元格(跟数据有关系的3个单元格) td 单元格的数量取决于每个对象里面的属性个数 for循环遍历对象 datas[i]
        // 里面的for 循环管 列 td
        for (var k in datas[i]) {
          // 创建单元格
          var td = document.createElement("td");
          //把对象里面的属性值 给 td
          td.innerHTML = datas[i][k];
          tr.appendChild(td);
        }
        // 创建有删除两个字的单元格
        var td = document.createElement("td");
        td.innerHTML = '<a href="javascript:;">删除 </a>';
        tr.appendChild(td);
      }

      //   删除操作
      var as = document.querySelectorAll("a");
      for (var i = 0; i < as.length; i++) {
        as[i].onclick = function () {
          // 点击a 删除 a当前所在的行(tr) (a的爸爸的爸爸就是tr)
          tbody.removeChild(this.parentNode.parentNode);
          // 删除 tbody 里面 this就是当前点击的a 的 爸爸 的 爸爸 也就是删除了 tr
        };
      }
    </script>
  </body>
</html>

实现效果:

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值