当前位置:首页 > JavaScript

js实现反选

2026-03-01 01:24:08JavaScript

实现反选功能

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

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实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…

js 实现图片轮播

js 实现图片轮播

基础实现方案 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS负责样式布局,JavaScript处理轮播逻辑。 <div class="…