当前位置:首页 > JavaScript

js实现全选和反选

2026-03-01 11:02:07JavaScript

实现全选功能

通过获取所有复选框元素,并设置它们的checked属性为true来实现全选。使用querySelectorAll选择所有目标复选框。

function selectAll() {
  const checkboxes = document.querySelectorAll('input[type="checkbox"]');
  checkboxes.forEach(checkbox => {
    checkbox.checked = true;
  });
}

实现反选功能

遍历所有复选框,将它们的checked属性取反。通过逻辑非操作符!实现状态切换。

function invertSelection() {
  const checkboxes = document.querySelectorAll('input[type="checkbox"]');
  checkboxes.forEach(checkbox => {
    checkbox.checked = !checkbox.checked;
  });
}

动态绑定事件

为全选和反选按钮添加事件监听器,确保点击时触发对应函数。通过addEventListener实现交互绑定。

document.getElementById('selectAllBtn').addEventListener('click', selectAll);
document.getElementById('invertBtn').addEventListener('click', invertSelection);

示例HTML结构

创建包含复选框和操作按钮的基础HTML结构。复选框需统一类名或特征以便选择器定位。

<input type="checkbox" class="item-checkbox"> 选项1
<input type="checkbox" class="item-checkbox"> 选项2
<input type="checkbox" class="item-checkbox"> 选项3

<button id="selectAllBtn">全选</button>
<button id="invertBtn">反选</button>

限定范围的全选/反选

若需针对特定容器内的复选框,可通过父元素限定选择范围。使用更精确的选择器提高代码针对性。

function selectAllInContainer() {
  const container = document.getElementById('checkboxContainer');
  const checkboxes = container.querySelectorAll('input[type="checkbox"]');
  checkboxes.forEach(checkbox => {
    checkbox.checked = true;
  });
}

性能优化建议

对于大量复选框操作,建议使用事件委托或减少DOM操作次数。通过文档片段或批量更新提升执行效率。

js实现全选和反选

function batchUpdateCheckboxes(shouldCheck) {
  const fragment = document.createDocumentFragment();
  const checkboxes = document.querySelectorAll('input[type="checkbox"]');

  checkboxes.forEach(checkbox => {
    const clone = checkbox.cloneNode(true);
    clone.checked = shouldCheck;
    fragment.appendChild(clone);
  });

  checkboxContainer.innerHTML = '';
  checkboxContainer.appendChild(fragment);
}

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

相关文章

js实现图片轮播

js实现图片轮播

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

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…