在HTML文档中引进JavaScript脚本,实现动态生成添加修改删除表格案例。以面向对象编程思想,实现以上实现的功能。将逻辑代码改写成类进行封装,以实现复用。
时间: 2024-03-14 19:47:47 浏览: 50
好的,我会依次回答你的问题。
首先,你提到的需求可以通过在HTML文件中引入JavaScript脚本来实现。具体来说,你可以使用JavaScript DOM API来操作HTML页面中的元素,例如表格。
以下是一个简单的示例,演示如何使用JavaScript DOM API来创建、添加、修改和删除表格:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>动态生成表格</title>
</head>
<body>
<button onclick="createTable()">创建表格</button>
<button onclick="addRow()">添加行</button>
<button onclick="modifyCell()">修改单元格</button>
<button onclick="deleteRow()">删除行</button>
<table id="myTable">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
<tr>
<td>张三</td>
<td>18</td>
<td>男</td>
</tr>
<tr>
<td>李四</td>
<td>20</td>
<td>女</td>
</tr>
</table>
<script>
// 创建表格
function createTable() {
var table = document.createElement("table");
table.setAttribute("id", "myTable");
var header = table.createTHead();
var row = header.insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = "<b>姓名</b>";
cell2.innerHTML = "<b>年龄</b>";
cell3.innerHTML = "<b>性别</b>";
document.body.appendChild(table);
}
// 添加行
function addRow() {
var table = document.getElementById("myTable");
var row = table.insertRow(table.rows.length);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = "王五";
cell2.innerHTML = "22";
cell3.innerHTML = "男";
}
// 修改单元格
function modifyCell() {
var table = document.getElementById("myTable");
var cell = table.rows[1].cells[1];
cell.innerHTML = "21";
}
// 删除行
function deleteRow() {
var table = document.getElementById("myTable");
if (table.rows.length > 1) {
table.deleteRow(table.rows.length - 1);
}
}
</script>
</body>
</html>
```
接下来,你提到了面向对象编程思想,我们可以将逻辑代码改写成类进行封装,以实现复用。
以下是改写后的代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>动态生成表格</title>
</head>
<body>
<button onclick="tableManager.createTable()">创建表格</button>
<button onclick="tableManager.addRow()">添加行</button>
<button onclick="tableManager.modifyCell()">修改单元格</button>
<button onclick="tableManager.deleteRow()">删除行</button>
<table id="myTable">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
<tr>
<td>张三</td>
<td>18</td>
<td>男</td>
</tr>
<tr>
<td>李四</td>
<td>20</td>
<td>女</td>
</tr>
</table>
<script>
// 定义表格管理类
class TableManager {
constructor() {
this.table = document.getElementById("myTable");
}
// 创建表格
createTable() {
var table = document.createElement("table");
table.setAttribute("id", "myTable");
var header = table.createTHead();
var row = header.insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = "<b>姓名</b>";
cell2.innerHTML = "<b>年龄</b>";
cell3.innerHTML = "<b>性别</b>";
document.body.appendChild(table);
}
// 添加行
addRow() {
var row = this.table.insertRow(this.table.rows.length);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = "王五";
cell2.innerHTML = "22";
cell3.innerHTML = "男";
}
// 修改单元格
modifyCell() {
var cell = this.table.rows[1].cells[1];
cell.innerHTML = "21";
}
// 删除行
deleteRow() {
if (this.table.rows.length > 1) {
this.table.deleteRow(this.table.rows.length - 1);
}
}
}
// 创建表格管理实例
var tableManager = new TableManager();
</script>
</body>
</html>
```
在改写后的代码中,我们定义了一个名为TableManager的类,它包含了创建表格、添加行、修改单元格和删除行等方法。通过创建TableManager类的实例,我们可以方便地对表格进行操作。
阅读全文