当前位置:首页 > JavaScript

实现表格上移下移 js

2026-01-31 08:16:11JavaScript

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

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

方法一:使用 insertBefore 和 insertAdjacentElement

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,可以简化代码:

实现表格上移下移 js

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

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

注意事项

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

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

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

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

vue实现分组表格

vue实现分组表格

Vue 实现分组表格的方法 使用 v-for 嵌套循环实现分组 通过嵌套的 v-for 循环可以轻松实现分组表格。外层循环遍历分组数据,内层循环遍历每组中的具体项。 <template>…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…

js实现删除

js实现删除

使用 splice 方法删除数组元素 splice 方法可以删除数组中的元素,并返回被删除的元素。它接受两个参数:起始索引和要删除的元素数量。 const array = [1, 2, 3, 4…