javascript实现Table排序的方法

 本文实例讲述了javascript实现Table排序的方法。分享给大家供大家参考。具体实现方法如下:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>表格排序</title>
<style type="text/css">
body
{
margin:0;
padding:0;
font-size:14px;
}
table,td,th
{
border:1px solid red;
}
th
{
width:100px;
background:pink;
}
table
{
margin:0 auto;
}
a
{
text-decoration:none;
}
</style>
<script type="text/javascript">
function sortAge() {
//获得表格对象
var tblObj = document.getElementById("tblData");
//把行节点集合存放到临时数组中,
//注意这里存放的是表格行节点对象集合的引用
//后续把排序后的数据添加回表格时,不需要删除行节点。
var rowNodes = tblObj.rows;
var arrTemp = new Array();
for (var i = 1; i < rowNodes.length; i++) {
arrTemp[i - 1] = rowNodes[i];
}
var sortFlag = tblObj.rows[0].cells[1].innerText;
sortFlag = sortFlag.charAt(sortFlag.length - 1);
//取最后一个字符(↑表示升序,↓表示降序)
if (sortFlag == "↑") {
tblObj.rows[0].cells[1].innerHTML = "<a href='javascript:void(0)' onclick='sortAge()'>年龄↓</a>";
for (var i = 0; i < arrTemp.length; i++) {
for (var j = i + 1; j < arrTemp.length; j++) {
if (parseInt(arrTemp[j].cells[1].innerText) < parseInt(arrTemp[i].cells[1].innerText)) {
var temp = arrTemp[i];
arrTemp[i] = arrTemp[j];
arrTemp[j] = temp;
}
}
}
}
else {
tblObj.rows[0].cells[1].innerHTML = "<a href='javascript:void(0)' onclick='sortAge()'>年龄↑</a>";
for (var i = 0; i < arrTemp.length; i++) {
for (var j = i + 1; j < arrTemp.length; j++) {
if (parseInt(arrTemp[j].cells[1].innerText) > parseInt(arrTemp[i].cells[1].innerText)) {
var temp = arrTemp[i];
arrTemp[i] = arrTemp[j];
arrTemp[j] = temp;
}
}
}
}
//把排序后的数据添加回表格,
//注意由于存放的是引用,所以不需要删除原来的行
var TBodyObj = tblObj.childNodes[0];
for (var i = 0; i < arrTemp.length; i++) {
TBodyObj.appendChild(arrTemp[i]);
}
}
</script>
</head>
<body>
<table id="tblData" cellspacing="0px" cellpadding="5px">
<tr>
<th>姓名</th>
<th><a href="javascript:void(0)" onclick="sortAge()">年龄↑</a></th>
<th>城市</th>
</tr>
<tr>
<td>张三</td>
<td>25</td>
<td>北京</td>
</tr>
<tr>
<td>李四</td>
<td>30</td>
<td>南昌</td>
</tr>
<tr>
<td>王五</td>
<td>21</td>
<td>郑州</td>
</tr>
<tr>
<td>李莫</td>
<td>35</td>
<td>天津</td>
</tr>
<tr>
<td>肖丽</td>
<td>19</td>
<td>深圳</td>
</tr>
<tr>
<td>罗成</td>
<td>23</td>
<td>上海</td>
</tr>
</table>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

时间: 2024-10-03 19:23:01

javascript实现Table排序的方法的相关文章

javascript实现Table排序的方法_javascript技巧

本文实例讲述了javascript实现Table排序的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&

javascript清空table表格的方法

  本文实例讲述了javascript清空table表格的方法.分享给大家供大家参考.具体如下: 1. 通常方法 循环table的rows,然后一个一个删除. 这个方法是通常的方法,可行,但是效率不好. 2. 另一个方法 ? 1 2 3 4 5 6 7 8 var artTable = document.getElementById("artical_table"); console.debug(artTable.getElementsByTagName("thead&quo

javascript清空table表格的方法_javascript技巧

本文实例讲述了javascript清空table表格的方法.分享给大家供大家参考.具体如下: 1. 通常方法 循环table的rows,然后一个一个删除. 这个方法是通常的方法,可行,但是效率不好. 2. 另一个方法 var artTable = document.getElementById("artical_table"); console.debug(artTable.getElementsByTagName("thead")[0]); var artBody

JavaScript实现拼音排序的方法_javascript技巧

一般情况下,大家会使用下面的方法来进行汉字的拼音排序 复制代码 代码如下: var list = [ '王', '张','李']; list.sort(function (a, b) { return a.localeCompare(b); }); localeCompare() :用本地特定的顺序来比较两个字符串. 通过localeCompare这个方法来进行拼音排序的不可靠之处在于: 1. 很依赖中文操作系统 2. 很依赖浏览器的内核 也就是说,如果你的网站访问者是通过非中文系统,或者非IE

javascript操作表格排序实例分析

  本文实例讲述了javascript操作表格排序的方法.分享给大家供大家参考.具体如下: 完整例子如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

javascript操作表格排序实例分析_javascript技巧

本文实例讲述了javascript操作表格排序的方法.分享给大家供大家参考.具体如下: 完整例子如下: <html> <head> <title>Table Sort Example</title> <script type="text/javascript"> //转换器,将列的字段类型转换为可以排序的类型:String,int,float function convert(sValue, sDataType) { swit

JavaScript对表格或元素按文本,数字或日期排序的方法

  本文实例讲述了JavaScript对表格或元素按文本,数字或日期排序的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 6

JavaScript实现表格点击排序的方法

  这篇文章主要介绍了JavaScript实现表格点击排序的方法,可实现点击顶部数据项标题实现对应数据列的排序效果,涉及javascript鼠标事件及数据排序的技巧,需要的朋友可以参考下 这里实现基于JS的表格点击排序效果,可以根据表格内的数据大小自动按顺序排列,股票网站常会见到这种功能. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

javascript 实现简单的table排序及table操作练习_javascript技巧

在这个列子中,练习了table的操作,主要有:tBodies.rows.cells,还有有关数组的排序方法:sort 先上代码: 复制代码 代码如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>table排序</title> </head> <body> <table id="tableTest&q