//table2.css
table {
border: #FB0202 solid 2px;
}
table td {
border: #2A09EF solid 1px;
padding: 10px;
}
table th {
border: #2A09EF solid 1px;
padding: 10px;
background-color: #F907D4;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="CSS/table2.css">
<style type="text/css">
th a:link,th a:visited {
color: #C008F8;
text-decoration: none;
}
</style>
<script type="text/javascript">
var flag = true;
function sortTable() {
/*
* 思路:
* 1. 排序需要數組,獲取需要參與排序的行對象數組
* 2. 對行數組中的每一行的年齡單元格的數據進行比較,並完成行對象在數組中的位置置換
* 3. 將排好序的數組重新添加回表格
*/
var oTabNode = document.getElementById("info");
var collTrNodes = oTabNode.rows;
//定義一個臨時容器,存儲需要排序的對象
var trArr = [];
//遍歷原行集合,並將需要排序的行對象存儲到臨時容器中
for(var x = 1; x < collTrNodes.length; x++) {
trArr[x - 1] = collTrNodes[x];
}
//對臨時容器進行排序
mySort(trArr);
//將排完序的對象添加回表格
if(flag) {
for(var x = 0; x < trArr.length; x++) {
// oTabNode.childNodes[0].appendChild(trArr[x]);
trArr[x].parentNode.appendChild(trArr[x]);
}
flag = false;
} else {
for(var x = trArr.length-1; x >=0; x--) {
trArr[x].parentNode.appendChild(trArr[x]);
}
flag = true;
}
}
function mySort(arr) {
for(var x = 0; x < arr.length - 1; x++) {
for(var y = x + 1; y < arr.length; y++) {
if(parseInt(arr[x].cells[1].innerHTML) > parseInt(arr[y].cells[1].innerHTML)) {
var temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
</script>
</head>
<body>
<table id="info">
<tr>
<th>Name</th>
<th><a href="javascript:void(0)" onclick="sortTable()">Age</a></th>
<th>Address</th>
</tr>
<tr>
<td>Jack</td>
<td>30</td>
<td>Shanghai</td>
</tr>
<tr>
<td>Jacky</td>
<td>20</td>
<td>Taiwan</td>
</tr>
<tr>
<td>Vivian</td>
<td>50</td>
<td>Hong Kong</td>
</tr>
<tr>
<td>Jervis</td>
<td>40</td>
<td>Beijing</td>
</tr>
<tr>
<td>Mike</td>
<td>10</td>
<td>Suzhou</td>
</tr>
</table>
</body>
</html>