当前位置:首页 > 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实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现预览

js实现预览

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

js实现游标

js实现游标

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

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…