- 因为里面的数据是动态的,我们需要 js 动态生成。这里我们模拟数据,自己定义好数据,数据采取对象的形式存储
- 所有的数据都是放到 tbody 里面的行里面
- 因为行很多,我们需要循环创建多个行(对应多少人)
需要学习的内容:
- 利用数组和对象模拟数据库
-
for (var k in obj){
k 得到的是属性名
obj[k]得到的是属性值
}
- tbody.removeChild(this.parentNode.parentNode);(删除操作)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table {
border: 1px solid black;
margin: auto;
}
td,
th {
border: 1px solid #000000;
}
th {
background-color: antiquewhite;
}
a {
text-decoration: none;
color: violet;
}
</style>
</head>
<body>
<table cellspacing='0'>
<thead>
<th>姓名</th>
<th>科目</th>
<th>成绩</th>
<th>操作</th>
</thead>
<tbody></tbody>
</table>
<script>
var datas = [{
name: '李沛原',
subject: 'JavaScript',
score: 100
}, {
name: '徐丽莎',
subject: 'JavaScript',
score: 90
}, {
name: '顾凯',
subject: 'JavaScript',
score: 59
}, {
name: '阿依巴特',
subject: 'JavaScript',
score: 66
}];
var tbody = document.querySelector('tbody');
for (var i = 0; i < datas.length; i++) {
var tr = document.createElement('tr');
tbody.appendChild(tr);
for (var k in datas[i]) {
var td = document.createElement('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() {
tbody.removeChild(this.parentNode.parentNode);
}
}
</script>
</body>
</html>