js中,一个表格中存在姓名和籍贯,单击克隆按钮表格中自动添加一行 小明 南昌 ,每一行还有一个删除按钮,单击删除按钮这一行则删除,使用事件委托的方法来写
时间: 2024-04-15 16:30:49 浏览: 73
通过点击添加按钮即可自动添加一行点击删除即可自动删除一行
4星 · 用户满意度95%
你可以使用事件委托的方法来实现该功能。以下是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>表格操作</title>
</head>
<body>
<table id="myTable">
<tr>
<th>姓名</th>
<th>籍贯</th>
<th>操作</th>
</tr>
<tr>
<td>小明</td>
<td>南昌</td>
<td><button class="deleteBtn">删除</button></td>
</tr>
</table>
<button id="cloneBtn">克隆</button>
<script>
// 获取表格和克隆按钮的引用
const table = document.getElementById('myTable');
const cloneBtn = document.getElementById('cloneBtn');
// 添加事件委托,监听表格的点击事件
table.addEventListener('click', function(event) {
const target = event.target;
// 判断点击的是否是删除按钮
if (target.classList.contains('deleteBtn')) {
// 获取要删除的行
const row = target.parentNode.parentNode;
// 删除行
row.parentNode.removeChild(row);
}
});
// 监听克隆按钮的点击事件
cloneBtn.addEventListener('click', function() {
// 克隆最后一行
const lastRow = table.rows[table.rows.length - 1];
const newRow = lastRow.cloneNode(true);
// 清空新行的输入框内容
const inputs = newRow.getElementsByTagName('input');
for (let i = 0; i < inputs.length; i++) {
inputs[i].value = '';
}
// 将新行添加到表格中
table.appendChild(newRow);
});
</script>
</body>
</html>
```
这段代码中,我们通过事件委托的方式监听了表格的点击事件。当点击的目标元素是删除按钮时,会找到该行并将其删除。同时,我们还监听了克隆按钮的点击事件,当点击克隆按钮时,会克隆表格中最后一行,并将其添加到表格中。
阅读全文