当前位置:首页 > JavaScript

实现表格上移下移 js

2026-01-31 08:16:11JavaScript

实现表格行上移下移的 JavaScript 方法

通过 JavaScript 操作 DOM 可以实现表格行的上移和下移功能。以下是两种常见的方法:

实现表格上移下移 js

方法一:使用 insertBefore 和 insertAdjacentElement

实现表格上移下移 js

function moveRowUp(row) {
  const table = row.parentNode;
  const prevRow = row.previousElementSibling;
  if (prevRow) {
    table.insertBefore(row, prevRow);
  }
}

function moveRowDown(row) {
  const table = row.parentNode;
  const nextRow = row.nextElementSibling;
  if (nextRow) {
    table.insertBefore(nextRow, row);
  }
}

方法二:使用 swapNode (非标准方法,仅适用于某些浏览器)

function moveRowUp(row) {
  const prevRow = row.previousElementSibling;
  if (prevRow) {
    row.swapNode(prevRow); // 注意:这不是标准方法
  }
}

function moveRowDown(row) {
  const nextRow = row.nextElementSibling;
  if (nextRow) {
    row.swapNode(nextRow); // 注意:这不是标准方法
  }
}

完整示例代码

<table id="myTable">
  <tr><td>Row 1</td><td><button onclick="moveUp(this)">Up</button><button onclick="moveDown(this)">Down</button></td></tr>
  <tr><td>Row 2</td><td><button onclick="moveUp(this)">Up</button><button onclick="moveDown(this)">Down</button></td></tr>
  <tr><td>Row 3</td><td><button onclick="moveUp(this)">Up</button><button onclick="moveDown(this)">Down</button></td></tr>
</table>

<script>
function moveUp(button) {
  const row = button.parentNode.parentNode;
  const table = row.parentNode;
  const prevRow = row.previousElementSibling;
  if (prevRow) {
    table.insertBefore(row, prevRow);
  }
}

function moveDown(button) {
  const row = button.parentNode.parentNode;
  const table = row.parentNode;
  const nextRow = row.nextElementSibling;
  if (nextRow) {
    table.insertBefore(nextRow, row);
  }
}
</script>

使用 jQuery 实现

如果项目中使用了 jQuery,可以简化代码:

function moveRowUp(row) {
  $(row).prev().before(row);
}

function moveRowDown(row) {
  $(row).next().after(row);
}

注意事项

  • 确保在移动行之前检查是否存在上一个或下一个兄弟节点
  • 考虑添加动画效果提升用户体验
  • 对于大型表格,可能需要优化性能
  • 移动后可能需要更新相关数据绑定

这些方法可以灵活地应用到各种表格操作场景中,根据具体需求进行调整即可。

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

相关文章

在vue实现学生表格

在vue实现学生表格

创建 Vue 项目 使用 Vue CLI 或 Vite 初始化项目: npm init vue@latest student-table cd student-table npm instal…

vue 实现表格单选

vue 实现表格单选

实现表格单选的方法 在Vue中实现表格单选功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-model绑定选中项 通过v-model绑定一个变量来记录当前选中的行数据。当用户点击某一行…

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

css怎么制作表格

css怎么制作表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,结合CSS可以自定义样式。以下是基本实现方法: HTML结构 <table> <th…

vue表格实现复选框

vue表格实现复选框

Vue表格实现复选框的方法 基础实现(使用v-model绑定数组) 在Vue中可以通过v-model绑定数组来实现复选框功能。以下是一个基础示例: <template> <ta…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…