【javascript】根据表格中的某一列进行排序

<script type="text/javascript">
	var b = true ;
	function sortAge(){
		var tabNode = document.getElementsByTagName("table")[0];
		var trNodes = tabNode.rows;  //获取表格中的行对象
		var arr = new Array();
		for(var x=1;x<trNodes.length;x++){  //临时容器存入的是表格中行对象的引用
			arr[x-1] = trNodes[x];
		}
		sort(arr);
		var tbdNode = tabNode.childNodes[0];	
		if(b){                                  //if....else...控制按年龄的升降进行排序
			for(var x=0;x<arr.length;x++){
				tbdNode.appendChild(arr[x]);
			}
			b = false; 
		}else{
			for(var x=arr.length-1;x>=0;x--){
				tbdNode.appendChild(arr[x]);
			}
			b = true ;
		}	
	}
	function sort(arr){ // 排序
		for(var x=0;x<arr.length;x++){
			for(var y=x+1;y<arr.length;y++){
				if(parseInt(arr[x].cells[1].innerText)>parseInt(arr[y].cells[1].innerText)){ // 不进行parseInt转换是以字符串的ASCII比较
					var temp = arr[x];
					arr[x] = arr[y];
					arr[y] = temp;
				}
			}
		}
	}
</script>

<style type="text/css">
	table{ width:60%; border:solid 1px #0066FF;}
	table td {border:solid 1px #0099ff;}
	a{ text-decoration: none;}
</style>

</head>
<body>
	<table>
		<tr>
			<td>姓名</td><td><a href="javascript:void(0)" οnclick="sortAge()">年龄</a></td><td>地址</td>
		</tr>
		<tr>
			<td>张三</td><td>23</td><td>北京</td>
		</tr>
		<tr>
			<td>李四</td><td>25</td><td>上海</td>
		</tr>
		<tr>
			<td>王五</td><td>15</td><td>广州</td>
		</tr>
		<tr>
			<td>唐总</td><td>20</td><td>长沙</td>
		</tr>
	</table>
</body>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值