当前位置:首页 > JavaScript

js实现全选反选

2026-03-01 01:40:04JavaScript

实现全选与反选功能

全选和反选是表单操作中常见的功能,可以通过JavaScript动态控制复选框的状态。以下是两种典型实现方式:

js实现全选反选

基础DOM操作实现

// 获取全选复选框和子复选框
const selectAll = document.getElementById('selectAll');
const checkboxes = document.querySelectorAll('.item-checkbox');

// 全选逻辑
selectAll.addEventListener('change', function() {
  checkboxes.forEach(checkbox => {
    checkbox.checked = this.checked;
  });
});

// 子复选框逻辑
checkboxes.forEach(checkbox => {
  checkbox.addEventListener('change', function() {
    selectAll.checked = [...checkboxes].every(c => c.checked);
  });
});

反选功能扩展

// 反选按钮事件
document.getElementById('invertSelect').addEventListener('click', function() {
  checkboxes.forEach(checkbox => {
    checkbox.checked = !checkbox.checked;
  });
  updateSelectAllState();
});

// 更新全选状态函数
function updateSelectAllState() {
  selectAll.checked = [...checkboxes].every(c => c.checked);
}

注意事项

  • 确保HTML结构包含全选复选框和带有统一class的子复选框
  • 事件委托方式更适合动态生成的列表
  • 现代框架如Vue/React可通过数据绑定更简洁地实现
<!-- 基础HTML结构示例 -->
<input type="checkbox" id="selectAll">全选
<button id="invertSelect">反选</button>
<div class="item-list">
  <input type="checkbox" class="item-checkbox">选项1
  <input type="checkbox" class="item-checkbox">选项2
</div>

性能优化建议

对于大型列表建议使用事件委托 考虑添加防抖处理频繁操作 可结合本地存储保存选择状态

标签: 全选js
分享给朋友:

相关文章

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…

实现继承js

实现继承js

实现继承的方式 在JavaScript中,实现继承可以通过多种方式完成,每种方式都有其优缺点。以下是几种常见的实现继承的方法: 原型链继承 原型链继承是最基本的继承方式,通过将子类的原型指向父类的实…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…