当前位置:首页 > 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
分享给朋友:

相关文章

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js 实现倒计时

js 实现倒计时

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

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现预览

js实现预览

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