zoukankan      html  css  js  c++  java
  • 使用 JQuery 实现将 table 按照列排序

    使用 JQuery 实现将 table 按照列排序

    代码如下

    <!DOCTYPE html>
    <html>
    
    <head>
        <title>如何使用js使table按照表头排序</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.1.0/css/bootstrap.min.css">
        <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
        <script src="https://cdn.staticfile.org/popper.js/1.12.5/umd/popper.min.js"></script>
        <script src="https://cdn.staticfile.org/twitter-bootstrap/4.1.0/js/bootstrap.min.js"></script>
    </head>
    
    <body>
        <div style="text-align: center;margin: 10px;">
            <button type="button" style=" 200px;" class="btn btn-outline-danger">按照表头排序</button>
        </div>
        <table class="table table-hover" style=" 80%;text-align:center;margin: 0 auto;border: 0;" id="sorttable">
            <thead class="thead-dark">
                <tr>
                    <th>Fri</th>
                    <th>Thu</th>
                    <th>Wed</th>
                    <th>Tue</th>
                    <th>Mon</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
            </tbody>
        </table>
    </body>
    <script type="text/javascript">
    jQuery.fn.swapWith = function(to) {
        return this.each(function() {
            var copy_to = $(to).clone(true);
            var copy_from = $(this).clone(true);
            $(to).replaceWith(copy_from);
            $(this).replaceWith(copy_to);
        });
    };
    
    jQuery.moveColumn = function(table, from, to) {
        var rows = jQuery('tr', table);
        var cols;
        rows.each(function() {
            cols = jQuery(this).children('th, td');
            cols.eq(from).swapWith(cols.eq(to));
        });
    };
    
    $(function() {
        $("button").click(function() {
            var tbl = $("#sorttable");
            $('#sorttable tr').eq(0).each(function(i) { // 遍历 tr
                var length = $(this).find('th').length;
                for (var i = 0; i < length / 2; i++) {
                    jQuery.moveColumn(tbl, i, length - i - 1);
                }
            });
    
        });
    });
    </script>
    
    </html>
    

    未排序前

    排序后

    参考资料

  • 相关阅读:
    redis-x64-3.2.100下载安装
    open with live server没反应
    JavaScript 语言的历史
    在navicat查看mysql的版本
    node.js安装教程
    个人简介
    C语言结课课程设计
    CommonJS 规范 与 ES6 规范
    大文件分片上传,断点续传,秒传
    babel编译
  • 原文地址:https://www.cnblogs.com/hgnulb/p/9765757.html
Copyright © 2011-2022 走看看