当前位置:首页 > JavaScript

js实现反选

2026-03-01 01:24:08JavaScript

js实现反选

js实现反选

实现反选功能

反选功能通常用于多选框或列表项的选择操作,将已选中的项取消选中,未选中的项选中。以下是几种常见的实现方法:

使用原生JavaScript实现复选框反选

// 获取所有复选框元素
const checkboxes = document.querySelectorAll('input[type="checkbox"]');

// 反选函数
function toggleCheckboxes() {
  checkboxes.forEach(checkbox => {
    checkbox.checked = !checkbox.checked;
  });
}

表格行反选实现

// 获取表格中所有行
const rows = document.querySelectorAll('table tr');

// 反选表格行
function toggleTableRows() {
  rows.forEach(row => {
    row.classList.toggle('selected');
  });
}

结合Shift键实现范围反选

let lastChecked;

function handleCheckboxClick(e) {
  let inBetween = false;

  if(e.shiftKey && this.checked) {
    const checkboxes = document.querySelectorAll('input[type="checkbox"]');

    checkboxes.forEach(checkbox => {
      if(checkbox === this || checkbox === lastChecked) {
        inBetween = !inBetween;
      }

      if(inBetween) {
        checkbox.checked = !checkbox.checked;
      }
    });
  }

  lastChecked = this;
}

// 为所有复选框添加事件监听
document.querySelectorAll('input[type="checkbox"]').forEach(checkbox => {
  checkbox.addEventListener('click', handleCheckboxClick);
});

使用jQuery实现反选

$('#invertSelection').click(function() {
  $('input[type="checkbox"]').each(function() {
    $(this).prop('checked', !$(this).prop('checked'));
  });
});

针对特定容器内的元素反选

function invertSelection(containerId) {
  const container = document.getElementById(containerId);
  const items = container.querySelectorAll('input[type="checkbox"]');

  items.forEach(item => {
    item.checked = !item.checked;
  });
}

这些方法可以根据具体需求进行调整,适用于不同的场景和UI结构。

标签: js
分享给朋友:

相关文章

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…