首页 > 语言 > JavaScript > 正文

javascript实现Table排序的方法

2024-05-06 16:20:21
字体:
来源:转载
供稿:网友

这篇文章主要介绍了javascript实现Table排序的方法,涉及javascript针对表格对象的获取与排序相关技巧,需要的朋友可以参考下

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

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. <html xmlns="http://www.w3.org/1999/xhtml"
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  6. <title>表格排序</title> 
  7. <style type="text/css"
  8. body 
  9. margin:0; 
  10. padding:0; 
  11. font-size:14px; 
  12. }  
  13. table,td,th 
  14. border:1px solid red;  
  15. th 
  16. width:100px; 
  17. background:pink; 
  18. table 
  19. margin:0 auto; 
  20. }  
  21. text-decoration:none; 
  22. }  
  23. </style> 
  24. <script type="text/javascript"
  25. function sortAge() { 
  26. //获得表格对象 
  27. var tblObj = document.getElementById("tblData"); 
  28. //把行节点集合存放到临时数组中, 
  29. //注意这里存放的是表格行节点对象集合的引用 
  30. //后续把排序后的数据添加回表格时,不需要删除行节点。 
  31. var rowNodes = tblObj.rows; 
  32. var arrTemp = new Array(); 
  33. for (var i = 1; i < rowNodes.length; i++) { 
  34. arrTemp[i - 1] = rowNodes[i]; 
  35. var sortFlag = tblObj.rows[0].cells[1].innerText; 
  36. sortFlag = sortFlag.charAt(sortFlag.length - 1); 
  37. //取最后一个字符(↑表示升序,↓表示降序) 
  38. if (sortFlag == "↑") { 
  39. tblObj.rows[0].cells[1].innerHTML = "<a href='javascript:void(0)' onclick='sortAge()'>年龄↓</a>"
  40. for (var i = 0; i < arrTemp.length; i++) { 
  41. for (var j = i + 1; j < arrTemp.length; j++) { 
  42. if (parseInt(arrTemp[j].cells[1].innerText) < parseInt(arrTemp[i].cells[1].innerText)) { 
  43. var temp = arrTemp[i]; 
  44. arrTemp[i] = arrTemp[j]; 
  45. arrTemp[j] = temp; 
  46. else { 
  47. tblObj.rows[0].cells[1].innerHTML = "<a href='javascript:void(0)' onclick='sortAge()'>年龄↑</a>"
  48. for (var i = 0; i < arrTemp.length; i++) { 
  49. for (var j = i + 1; j < arrTemp.length; j++) { 
  50. if (parseInt(arrTemp[j].cells[1].innerText) > parseInt(arrTemp[i].cells[1].innerText)) { 
  51. var temp = arrTemp[i]; 
  52. arrTemp[i] = arrTemp[j]; 
  53. arrTemp[j] = temp; 
  54. //把排序后的数据添加回表格, 
  55. //注意由于存放的是引用,所以不需要删除原来的行 
  56. var TBodyObj = tblObj.childNodes[0]; 
  57. for (var i = 0; i < arrTemp.length; i++) { 
  58. TBodyObj.appendChild(arrTemp[i]); 
  59. </script> 
  60. </head> 
  61. <body> 
  62. <table id="tblData" cellspacing="0px" cellpadding="5px"
  63. <tr> 
  64. <th>姓名</th> 
  65. <th><a href="javascript:void(0)" onclick="sortAge()">年龄↑</a></th> 
  66. <th>城市</th> 
  67. </tr> 
  68. <tr> 
  69. <td>张三</td> 
  70. <td>25</td> 
  71. <td>北京</td> 
  72. </tr> 
  73. <tr> 
  74. <td>李四</td> 
  75. <td>30</td> 
  76. <td>南昌</td> 
  77. </tr> 
  78. <tr> 
  79. <td>王五</td> 
  80. <td>21</td> 
  81. <td>郑州</td> 
  82. </tr> 
  83. <tr> 
  84. <td>李莫</td> 
  85. <td>35</td> 
  86. <td>天津</td> 
  87. </tr> 
  88. <tr> 
  89. <td>肖丽</td> 
  90. <td>19</td> 
  91. <td>深圳</td> 
  92. </tr> 
  93. <tr> 
  94. <td>罗成</td> 
  95. <td>23</td> 
  96. <td>上海</td> 
  97. </tr> 
  98. </table> 
  99. </body> 
  100. </html> 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选