当前位置:首页 > JavaScript

实现表格上移下移 js

2026-04-05 00:16:34JavaScript

表格行上移下移实现方法

核心思路
通过DOM操作交换相邻行的位置,结合事件监听实现交互效果。以下是两种常见实现方式:

方法一:纯JavaScript实现

// 获取表格对象
const table = document.getElementById('sortable-table');

// 上移函数
function moveUp(button) {
  const row = button.closest('tr');
  const prevRow = row.previousElementSibling;
  if (prevRow) {
    row.parentNode.insertBefore(row, prevRow);
  }
}

// 下移函数
function moveDown(button) {
  const row = button.closest('tr');
  const nextRow = row.nextElementSibling;
  if (nextRow) {
    row.parentNode.insertBefore(nextRow, row);
  }
}

HTML结构示例

实现表格上移下移 js

<table id="sortable-table">
  <tr>
    <td>内容1</td>
    <td>
      <button onclick="moveUp(this)">↑</button>
      <button onclick="moveDown(this)">↓</button>
    </td>
  </tr>
  <!-- 更多行... -->
</table>

方法二:jQuery简化版

$('.move-up').click(function(){
  const row = $(this).closest('tr');
  row.prev().before(row);
});

$('.move-down').click(function(){
  const row = $(this).closest('tr');
  row.next().after(row);
});

注意事项

实现表格上移下移 js

  • 边界检测:首行不能上移,末行不能下移
  • 性能优化:大数据量表格建议使用虚拟滚动
  • 视觉反馈:可添加过渡动画增强用户体验

扩展功能实现

// 添加行高亮效果
function highlightRow(row) {
  row.style.backgroundColor = '#ffeeba';
  setTimeout(() => {
    row.style.backgroundColor = '';
  }, 500);
}

// 改进后的移动函数
function enhancedMove(button, direction) {
  const row = button.closest('tr');
  const target = direction === 'up' ? row.previousElementSibling : row.nextElementSibling;

  if (target) {
    row.parentNode.insertBefore(
      direction === 'up' ? row : target,
      direction === 'up' ? target : row
    );
    highlightRow(row);
  }
}

实际应用建议

  1. 为操作按钮添加CSS样式提高可视性
  2. 移动后保持行的选中状态
  3. 考虑添加键盘快捷键支持
  4. 移动后触发数据同步到后端

以上代码可根据实际需求调整,关键点是正确使用DOM的insertBefore方法实现行位置交换。

标签: 表格js
分享给朋友:

相关文章

用css制作表格

用css制作表格

使用CSS制作表格 基础表格结构 HTML中表格由<table>、<tr>(行)、<th>(表头)和<td>(单元格)组成。基础结构如下: <t…

js实现路由

js实现路由

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

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

vue表格实现导出

vue表格实现导出

使用 vue-json-excel 插件 安装插件: npm install vue-json-excel --save 在组件中引入并注册: import JsonExcel from 'vue…

vue实现合并表格

vue实现合并表格

vue实现合并表格的方法 使用Vue实现表格合并功能可以通过多种方式完成,常见方法包括自定义渲染、利用第三方库或手动处理数据。以下是几种典型实现方案: 使用Element UI的table组件实现合…

vue实现表格修改

vue实现表格修改

Vue 实现表格修改的方法 使用 v-model 绑定数据 在 Vue 中可以通过 v-model 实现双向数据绑定,适用于表格单元格的编辑。 为表格的每个单元格绑定 v-model,动态修改数据。…