表格中的数据排序

作者: akubaba | 来源:发表于2017-11-27 12:46 被阅读2次
效果图

注意看注释!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格中的数据排序</title>
<style type="text/css">
table {
    border:#0099FF 1px solid;
    border-collapse:collapse;
    width:600px;
    }
    
table td{
    border:#0099FF 1px solid;
    text-align:center;
    }
    
#age:link,#age.visited {
    color:#000000;
    }
</style>

<script type="text/javascript">
function sortAge(){
    //1.获得表格中所有的行
        var table = document.getElementsByTagName("table")[0];
        //table.getElementsByTagName("tr");
        var rows = table.rows;
    //2.创建一个新的数组,将需要排序的行装入.
        var arr = [];
        for(var i = 1; i< rows.length ; i ++ ){
            arr[i-1] = rows[i];
        }
    //3.对新的数组排序
        arr.sort(abc); 
    //4.排序好的数组遍历插回表格中.
    for(var i = 0 ; i < arr.length ; i++){
        table.appendChild(arr[i]);
        //table中已存在的 ==》改变位置
        //如果不要仅仅改变位置
        //table.appendChild(arr[i].cloneNode(true));
    }
}

    //比较器 排序规则
    function abc(a,b){
    //tr.cells获得所有的单元格
    return +a.cells[1].innerHTML-b.cells[1].innerHTML; //升序
    //return -(+a.cells[1].innerHTML-b.cells[1].innerHTML); //降序
}
</script>
</head>
<body>
<table align="center">
    <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>23</td>
        <td>天津</td>
    </tr>
    <tr>
        <td>王八</td>
        <td>122</td>
        <td>上海</td>
    </tr>
    <tr>
        <td>王五</td>
        <td>28</td>
        <td>上海</td>
    </tr>
    <tr>
        <td>赵六</td>
        <td>26</td>
        <td>南京</td>
    </tr>
    <tr>
        <td>周七</td>
        <td>22</td>
        <td>上海</td>
    </tr>
</table>
</body>
</html>

相关文章

网友评论

    本文标题:表格中的数据排序

    本文链接:https://www.haomeiwen.com/subject/uporbxtx.html