我不想使用插件对tableorter这样的表进行排序,因为它会成为所需功能的开销。
我想在加载页面时只对表格进行一次排序我不希望该功能始终可用。
所以想象一下,如果我有i行,每行包含k列,而k#2是我想要用于此排序的那一行,所以我的排序将基于此列按降序排列,我想对它们的行进行排序。
这样的事情:
var $rows = $("#score-table tr");
$.each($rows, function(index, row) {
//sort table
});
答案 0 :(得分:14)
如果您知道要排序的列,则可以使用javascript sort function
轻松对表格进行排序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
降序
排序完成后,只需将其附加回身体并完成