6

我不想使用插件来对我的表进行排序,例如 tablesorter,因为这将是所需功能的开销。

我只想在加载页面时对表格进行一次排序我不希望该功能一直可用。

所以想象一下,如果我有 i 行,每行包含 k 列,并且 k #2 是我想要用于此排序的行,那么我的排序将基于此列按降序排列,我想对它们的行进行排序。

像这样的东西:

        var $rows = $("#score-table tr");
            $.each($rows, function(index, row) {
                //sort table
            });
4

1 回答 1

14

好吧,如果您知道要对哪一列进行排序,则可以使用 javascript 的排序功能轻松对表格进行排序

var $tbody = $('table tbody');
$tbody.find('tr').sort(function(a,b){ 
    var tda = $(a).find('td:eq(1)').text(); // can replace 1 with the column you want to sort on
    var tdb = $(b).find('td:eq(1)').text(); // this will sort on the second column
            // if a < b return 1
    return tda < tdb ? 1 
           // else if a > b return -1
           : tda > tdb ? -1 
           // else they are equal - return 0    
           : 0;           
}).appendTo($tbody);

如果你想上升,你只需要反转><

如果它们只是数字,你可以只做a-b升序或b-a降序

排序完成后,只需将其附加回正文并完成

小提琴

于 2013-05-16T13:41:13.250 回答