刚学JS不久,通过写一个排序提升一下自己的JS水平,下面我把这个排序做成了一个插件,用的时候只需要在表格列头设置Class="ObjSort"即可看到效果。
细节可能还有很多注意不够,效率如果还可以提高还请赐教。
脚本部分内容:
<script>
$(function () {
var v1 = $(".ObjSort");
var v2 = $(".ObjSort").append("↓");
});
function Sort(obj)
{
var tmpTr;
var SortCellIndex = $(obj).parents("th").index();
var SortTable = $(obj).parents("table");
var SortTableRowsLength = SortTable[0].rows.length;
if ($(obj).html() == "↑") {
var SortFlag = "↓";
var SortMode = 1;
} else
{
var SortFlag = "↑";
var SortMode = -1;
}
for (var i = 1; i < SortTableRowsLength - 1 ; i++) {
tmpTr = SortTable[0].rows[i];
for (var j = i + 1; j < SortTableRowsLength; j++) {
if (tmpTr.cells[SortCellIndex].innerHTML.localeCompare(SortTable[0].rows[j].cells[SortCellIndex].innerHTML) == SortMode) {
tmpTr = SortTable[0].rows[j];
}
}
$(tmpTr).insertBefore(SortTable[0].rows[i]);
}
$(obj).html(SortFlag);
}
</script>