在页面上根据数据,动态创建表格,并附带删除功能

mac2025-05-26  30

在页面上根据数据,动态创建表格,并附带删除功能,可以删除表格中的某一项

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> table, td { border: 2px solid #000; border-collapse: collapse; } table { width: 800px; height: 500px; margin: 100px auto; text-align: center; } </style> </head> <body> <table> <thead> <tr> <td>序号</td> <td>姓名</td> <td>年龄</td> <td>性别</td> <td>操作</td> </tr> </thead> <tbody></tbody> </table> <script> var arr = [ { name: 'Jack', age: 18, gender: '男' }, { name: 'Rose', age: 20, gender: '女' }, { name: 'Top', age: 22, gender: '男' } ] function create() { var str = "" //定义str,保存要添加的数据 arr.forEach(function (item, index) {//遍历数组,获取多少条数据就循环多少次,循环添加<tr> str += "<tr>" str += "<td>" + (index + 1) + "</td>" //显示索引 for (var key in item) { //遍历对象,对象内有多少属性就添加多少条内容到<td>中 str += "<td>" + item[key] + "</td>" } str += "<td class='del' index='" + index + "'>删除</td>" //循环添加 <td class="del" index ="0/1/2">删除</td> 到表格中 str += "</tr>" }); var tb = document.querySelector("tbody") //获取tbody tb.innerHTML = str //将str的内容替换显示到tbody里面 event() //创建完毕立即调用事件函数 } create() function event() { var del = document.querySelectorAll(".del") //获取的del是一个伪数组,所有的<td>删除</td> for (var i = 0; i < del.length; i++){ del[i].onclick =function(){ var index =this.getAttribute("index") //this指向触发事件的 del[i],要知道触发事件的是表格中的哪一个,所以要获取这个的属性(index) arr.splice(index,1) //删除arr中的索引(index)为...的数据 } } creat() //事件触发后再重新调用创建表格函数,让浏览器重新渲染页面 } </script> </body> </html>
最新回复(0)