LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

js如何自由调整table列的顺序

liguoquan
2025年6月23日 16:9 本文热度 60
:js如何自由调整table列的顺序


<table id="myTable">

    <tr>

        <th>姓名</th>

        <th>年龄</th>

        <th>城市</th>

    </tr>

    <tr>

        <td>张三</td>

        <td>28</td>

        <td>北京</td>

    </tr>

    <!-- 其他行 -->

</table>

 

<script>

function reorderColumns(tableId, order) {

    const table = document.getElementById(tableId);

    const header = table.querySelector('tr');

    const newHeader = header.cloneNode(true); // 复制表头以便重新排序列

    const newBody = document.createElement('tbody'); // 创建新的tbody

 

    // 移除原始表头和tbody,以便重新构建

    while (table.firstChild) {

        if (table.firstChild.nodeName === 'TBODY') {

            table.removeChild(table.firstChild);

        } else if (table.firstChild.nodeName === 'TR') {

            break; // 停止在第一个tbody之前的行(通常是表头)

        }

    }

 

    // 重新排序表头和内容行

    order.forEach(index => {

        const th = newHeader.children[index]; // 获取新的表头列

        newHeader.removeChild(th); // 移除以避免重复添加

        header.appendChild(th); // 添加到原始表头中,顺序已改变

        // 查找并复制相应的行数据到新tbody中

        Array.from(table.querySelectorAll('tr')).forEach(row => {

            const td = row.children[index]; // 获取相应列的单元格

            const newRow = newBody.querySelector(`tr:nth-child(${Array.from(newBody.children).indexOf(row) + 1})`) || document.createElement('tr'); // 获取或创建新行

            if (!newBody.contains(newRow)) { // 如果行不存在则添加到新tbody中

                newBody.appendChild(newRow);

            }

            newRow.appendChild(td); // 添加单元格到新行中

        });

    });

    // 将新表头和新的tbody插入到表格中

    table.appendChild(newHeader);

    table.appendChild(newBody);

}

 

// 示例:将列重新排序为 [2, 0, 1](城市,姓名,年龄)

reorderColumns('myTable', [2, 0, 1]);

</script>


该文章在 2025/6/23 16:09:07 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved