当前位置:首页 > JavaScript

js 实现tr互换

2026-04-07 08:41:25JavaScript

实现表格行(tr)互换的 JavaScript 方法

方法一:使用 DOM 操作交换行

通过获取表格的行元素(tr)并交换它们的顺序,可以实现行互换。以下是一个示例代码:

js 实现tr互换

function swapTableRows(tableId, rowIndex1, rowIndex2) {
    const table = document.getElementById(tableId);
    const rows = table.rows;

    if (rowIndex1 >= rows.length || rowIndex2 >= rows.length || rowIndex1 < 0 || rowIndex2 < 0) {
        console.error('Invalid row indices');
        return;
    }

    const row1 = rows[rowIndex1];
    const row2 = rows[rowIndex2];

    // 保存行1的HTML
    const temp = row1.innerHTML;

    // 交换行内容
    row1.innerHTML = row2.innerHTML;
    row2.innerHTML = temp;
}

方法二:使用 insertBefore 方法交换行

通过 insertBefore 方法可以更高效地交换行的位置,而不需要修改 HTML 内容:

js 实现tr互换

function swapTableRowsWithInsert(tableId, rowIndex1, rowIndex2) {
    const table = document.getElementById(tableId);
    const rows = table.rows;

    if (rowIndex1 >= rows.length || rowIndex2 >= rows.length || rowIndex1 < 0 || rowIndex2 < 0) {
        console.error('Invalid row indices');
        return;
    }

    const row1 = rows[rowIndex1];
    const row2 = rows[rowIndex2];

    // 交换行位置
    if (rowIndex1 < rowIndex2) {
        table.insertBefore(row2, row1);
    } else {
        table.insertBefore(row1, row2);
    }
}

方法三:使用 jQuery 实现行互换

如果项目中使用了 jQuery,可以通过以下方式实现行互换:

function swapTableRowsWithJQuery(tableId, rowIndex1, rowIndex2) {
    const $table = $('#' + tableId);
    const $rows = $table.find('tr');

    if (rowIndex1 >= $rows.length || rowIndex2 >= $rows.length || rowIndex1 < 0 || rowIndex2 < 0) {
        console.error('Invalid row indices');
        return;
    }

    const $row1 = $rows.eq(rowIndex1);
    const $row2 = $rows.eq(rowIndex2);

    // 交换行位置
    if (rowIndex1 < rowIndex2) {
        $row2.insertBefore($row1);
    } else {
        $row1.insertBefore($row2);
    }
}

注意事项

  • 确保传入的行索引是有效的,避免超出表格的行数范围。
  • 如果需要交换的行包含事件监听器或其他动态绑定内容,建议使用方法二或方法三,直接交换 DOM 元素而非 HTML 内容。
  • 如果表格是通过动态加载的,确保在 DOM 完全加载后再执行行交换操作。

标签: jstr
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现计算器

js实现计算器

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

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…