1. for(var key in object ){
}
2.创建不跳转链接
td.innerHTML = "<a href='javascript:;'>删除</a>"
key得到的是属性名
obj[key] 这个才是属性值
3.下面我来写个单元格案例 (因为还不会数据库传值 所以先写到了js里面)
<!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 {
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: 88
}, {
name: '大猪蹄子',
subject: 'JavaScript',
score: 0
}];
//2.创建行 有几个人头放多少行 数组的长度datas.length
var tbody = document.querySelector("tbody")
for (var i = 0; i < datas.length; i++) {//外面的循环负责行
//创建tr行
var tr = document.createElement("tr")
tbody.appendChild(tr)
//1.该创建单元格td 把td放在行里面 也就是需要在加一层循环
//2.td的个数就是对象里面的元素个数 所以我们现在要遍历对象
for (var key in datas[i]) {
var td = document.createElement("td")
tr.appendChild(td)
td.innerHTML = datas[i][key]
}
//3.创建有删除2字的单元格
var td = document.createElement("td")
tr.appendChild(td);
td.innerHTML = "<a href='javascript:;'>删除</a>"
}
//4.删除操作
var as = document.querySelectorAll("a")
//开始给所有a创建点击删除事件
for (var j = 0; j < as.length; j++) {
as[j].addEventListener("click", fn)
// 点击a删除 当前 a所在的 行 node.removeChild(child)
function fn() {
tbody.removeChild(this.parentNode.parentNode)
}
}
</script>
有什么问题欢迎下方留言