- 因爲裏面的數據是動態的,我們需要 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>