Dom-表格数据的排序,升序,降序

web-strom开发

1.表格数据的升序降序排列

<span style="font-size:18px;color:#333333;"><!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="table.css">
    <title></title>
    <style type="text/css">
        th a:link,th a:visited{
            color: #279bda;
            text-decoration: none;
        }
    </style>
    <script>
        var flag=true;
        function sortTable() {
            /*排序需要数组,获取需要排序的对象数组
            *对每一行的年龄单元格的数据进行比较,并完成对象在数组中的位置置换
            * 将排好的数组加会表格
            * */
            var oTabNode= document.getElementById("info");

            var collTrNode= oTabNode.rows;
            //定义一个临时容器,存储需要排序的行对象
            var trArr=[];
            //遍历原来集合,排序放到容器中
            for(var i=1;i < collTrNode.length;i++){
                trArr[i-1]= collTrNode[i];

            }
            //对临时数组排序
            mySort(trArr);
            //将排完的对象添加会表格
            //升序排列
            if(flag){
            for(var i= 0;i<trArr.length;i++){
                trArr[i].parentNode.appendChild(trArr[i]);
            }
                flag=false;
         }//降序排列
            else{
                for(var i=trArr.length-1;i>=0;i--){
                    trArr[i].parentNode.appendChild(trArr[i]);
                }
                flag=true;
            }
        }
        function mySort(arr){
            for(var i=0;i<arr.length-1;i++){
                for(var j=i+1;j<arr.length;j++){</span>
<span style="color: rgb(51, 51, 51);font-size:18px; white-space: pre;">			</span><span style="font-size:32px;color:#ff0000;">//注意转换格式</span><span style="font-size:18px;color: rgb(51, 51, 51);">
                    if(parseInt(arr[i].cells[1].innerHTML)>parseInt(arr[j].cells[1].innerHTML)){
                       var temp=arr[i];
                        arr[i]=arr[j];
                        arr[j]=temp;
                    }
                }
            }
        }
    </script>
</head>
<body>
<table id="info">
    <tr>
        <th>姓名</th>
        <th><a href="javascript:void(0)" οnclick="sortTable()">年龄</a></th>
        <th>地址</th>
    </tr>
    <tr>
        <td>张三</td>
        <td>27</td>
        <td>成都</td>
    </tr>
    <tr>
        <td>李四</td>
        <td>24</td>
        <td>重庆</td>
    </tr>
    <tr>
        <td>王二</td>
        <td>32</td>
        <td>成都</td>
    </tr>
    <tr>
        <td>小强</td>
        <td>25</td>
        <td>北京</td>
    </tr>
    <tr>
        <td>李白</td>
        <td>18</td>
        <td>成都</td>
    </tr>
    <tr>
        <td>赵云</td>
        <td>22</td>
        <td>武汉</td>
    </tr>
    <tr>
        <td>曹操</td>
        <td>38</td>
        <td>青岛</td>
    </tr>
    <tr>
        <td>诸葛</td>
        <td>40</td>
        <td>南京</td>
    </tr>
</table>
</body>
</html></span>
2.代码中引用的css

table{
     border: #249bdb 1px solid;
     width: 500px;
     border-collapse: collapse;
 }
table td{
    border: #249bdb 1px solid;
    padding: 10px;
}
table th{
    border: #249bdb 1px solid;
    padding: 10px;
    background-color: rgb(200,200,200);
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值