1.点击全选复选框时,全选下面四个复选框,再点全选复选框时取消全选; 2.当鼠标进入表格和离开表格时,改变表格背景色,颜色自定义; 3.点击删除按钮时,判断是否有复选框被选中,如果没有复选框被选中则提示用户进行选择,否则确认删除,并从表格中删除相应行。
时间: 2024-03-17 07:44:39 浏览: 64
JS中如何实现复选框全选功能
好的,您可以使用以下代码实现三个功能:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表格操作</title>
<style>
/* 表格样式 */
table {
border-collapse: collapse;
margin: 20px;
}
th, td {
border: 1px solid #ccc;
padding: 5px;
}
/* 表格背景色 */
.hover {
background-color: #e3f2fd;
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th><input type="checkbox" id="check-all"></th>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>1</td>
<td>小明</td>
<td>18</td>
<td><button class="delete-button">删除</button></td>
</tr>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>2</td>
<td>小红</td>
<td>20</td>
<td><button class="delete-button">删除</button></td>
</tr>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>3</td>
<td>小刚</td>
<td>22</td>
<td><button class="delete-button">删除</button></td>
</tr>
</tbody>
</table>
<script>
// 获取元素
const checkAll = document.querySelector('#check-all');
const checkboxes = document.querySelectorAll('.checkbox');
const deleteButtons = document.querySelectorAll('.delete-button');
const table = document.querySelector('table');
// 全选/取消全选
checkAll.addEventListener('click', function() {
for (let i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = this.checked;
}
});
// 表格背景色
table.addEventListener('mouseover', function() {
this.classList.add('hover');
});
table.addEventListener('mouseout', function() {
this.classList.remove('hover');
});
// 删除按钮
const deleteHandler = function() {
let isAnyCheckboxChecked = false; // 是否有复选框被选中
for (let i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) {
isAnyCheckboxChecked = true;
// 从表格中删除相应行
const row = checkboxes[i].parentNode.parentNode;
row.parentNode.removeChild(row);
i--; // 删除一行后,需要重新遍历当前位置
}
}
if (!isAnyCheckboxChecked) {
alert('请至少选择一项进行删除');
}
};
for (let i = 0; i < deleteButtons.length; i++) {
deleteButtons[i].addEventListener('click', deleteHandler);
}
</script>
</body>
</html>
```
这段代码实现了三个功能:
1. 点击全选复选框时,全选下面四个复选框,再点全选复选框时取消全选。
2. 当鼠标进入表格和离开表格时,改变表格背景色,颜色自定义。
3. 点击删除按钮时,判断是否有复选框被选中,如果没有复选框被选中则提示用户进行选择,否则确认删除,并从表格中删除相应行。
您可以将代码复制到本地,然后在浏览器中打开测试。
阅读全文