JS实现table表格数据排序---001

本文介绍了一个使用jQuery实现的表格排序插件。该插件通过点击表头进行排序,支持升序和降序操作。文章详细展示了如何使用jQuery选择器获取表格元素,并通过JavaScript实现了对表格内容的排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="jquery/style.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery-1.8.3.min.js?version=1"></script>
<script>
$(function(){
var tableObject = $('#tableSort');
var tbHead = tableObject.children('thead');
var tbHeadTh = tbHead.find('tr th');
var tbBody = tableObject.children('tbody');
var tbBodyTr = tbBody.find('tr');
var sortIndex = -1;

tbHeadTh.each(function(){
var thisIndex = tbHeadTh.index($(this));

$(this).click(function(){
checkColumnValue(thisIndex);
});
});

function checkColumnValue(index){
var trsValue = new Array();

tbBodyTr.each(function(){
var tds = $(this).find('td');
trsValue.push($(tds[index]).html() + ".separrator" + $(this).html());
$(this).html("");
});
var len = trsValue.length;

if (index == sortIndex){
trsValue.reverse();
} else {
for (var i = 0; i < len; i++) {
for( var j = i + 1; j < len; j++) {
value1 = trsValue[i].split(".separrator")[0];
value2 = trsValue[j].split(".separrator")[0];
if (value1.localeCompare(value2) > 0) {
var temp = trsValue[i];
trsValue[i] = trsValue[j];
trsValue[j] = temp;
}
}

}
}
for (var i = 0; i < len; i++) {
$("tbody tr:eq(" + i + ")").html(trsValue[i].split(".separrator")[1]);
}
sortIndex = index;

}
});
</script>
</head>
<body>
<div class="wrap">


<table id="tableSort" border="1">
<thead>
<tr>
<th>aaa </th>
<th>id </th>
<th>fff </th>
<th>dd </th>
<th>fffff </th>
</tr>
</thead>
<tbody>
<tr>
<td>aa</td>
<td>2256</td>
<td>8800</td>
<td>54</td>
<td>73</td>
</tr>
<tr>
<td>sss</td><td>2011</td><td>5900</td><td>71</td><td>52</td>
</tr>
<tr>
<td>11.22.33.44</td><td>99.99</td><td>5900</td><td>71</td><td>52</td>
</tr>
<tr>
<td>22.22.33.44</td><td>20.11</td><td>5900</td><td>71</td><td>52</td>
</tr>
<tr>
<td>33.22.33.44</td><td>888.88</td><td>5900</td><td>71</td><td>52</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值