当前位置:首页 > JavaScript

js实现反选

2026-03-01 01:24:08JavaScript

实现反选功能

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

使用原生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实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…