当前位置:首页 > 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属性取反。通过逻辑非操作符!实现状态切换。

js实现全选和反选

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结构。复选框需统一类名或特征以便选择器定位。

js实现全选和反选

<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操作次数。通过文档片段或批量更新提升执行效率。

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
分享给朋友:

相关文章

用vue实现全选

用vue实现全选

实现全选功能的基本思路 在Vue中实现全选功能通常涉及以下核心逻辑:通过一个布尔值控制全选状态,遍历子选项并同步其选中状态。以下是具体实现方法。 使用v-model绑定全选状态 在模板中,使用v-…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现百叶窗

js实现百叶窗

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

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…