不明白代码的意思。各位指点!
<table>
<tr><td>d</td></tr>
<tr><td>z</td></tr>
<tr><td>e</td></tr>
<tr><td>a</td></tr>
</table>
var rows = $("table").find('tr').get();
rows.sort(function(a, b) {
var keyA = $(a).children('td').eq(0).text()
.toUpperCase();
var keyB = $(b).children('td').eq(0).text()
.toUpperCase();
if (keyA < keyB) return -1;
if (keyA > keyB) return 1;
return 0;
});
$.each(rows, function(index, row) {
$("table").append(row);
});
<table>
<tr><td>d</td></tr>
<tr><td>z</td></tr>
<tr><td>e</td></tr>
<tr><td>a</td></tr>
</table>
var rows = $("table").find('tr').get();
rows.sort(function(a, b) {
var keyA = $(a).children('td').eq(0).text()
.toUpperCase();
var keyB = $(b).children('td').eq(0).text()
.toUpperCase();
if (keyA < keyB) return -1;
if (keyA > keyB) return 1;
return 0;
});
$.each(rows, function(index, row) {
$("table").append(row);
});
//获取表格的所有tr,并放入数组rows
var rows = $("table").find('tr').get();
//数组进行排序,Array.sort(fun(a,b)),自定义排序
//a,b代表数组的两个元素,如果返回-1,就把a放在b的前面
rows.sort(function(a, b) {
var keyA = $(a).children('td').eq(0).text()
.toUpperCase();
var keyB = $(b).children('td').eq(0).text()
.toUpperCase();
if (keyA < keyB) return -1;
if (keyA > keyB) return 1;
return 0;
});
//将每个tr按排序后的顺序添加到table
//jQuery.append方法实际上调用的是DOM的appendChild方法
//其特点是如果传递过去的元供需已经存在于页面,则会自动把这个元素从原来的父元素删除
$.each(rows, function(index, row) {
$("table").append(row);
});