js实现页面内元素移动和排序

元素的移动 

  <script>
        window.onload=function()
        {
            var oul1=document.getElementById("ul1");
            var oul2=document.getElementById("ul2");
            var oBtn=document.getElementById("btn1");
            oBtn.onclick=function () {
                var oLi=oul1.children[0];
                oul2.appendChild(oLi);
                //appendChild会将元素从原有的父元素删除,然后添加
            }
        }
    </script>

============》  

另一种巧妙的实现

    <script>
        window.onload=function()
        {
            var oul1=document.getElementById("ul1");
            var oul2=document.getElementById("ul2");
            var oBtn=document.getElementById("btn1");
            oBtn.onclick=function () {
                var oLi=oul1.children[0];
                oul1.appendChild(oLi);
                //appendChild会将元素从原有的父元素删除,然后再添加到原来的父元素内
            }
        }
    </script>

 

排序

基本思想就是获取所有li元素,然后根据值进行排序,我所实现的是每点击一下,在点击第i下的时候,就将排好序内的元素的第i个放在ul的最后边。

   <script>
        window.onload=function()
        {
            var oul1=document.getElementById("ul1");
            var oBtn=document.getElementById("btn1");

                var oLi=oul1.getElementsByTagName("li");
                var arr=[];
                for(var i=0;i<oLi.length;i++)
                    arr[i]=oLi[i];
                arr.sort(function (li1,li2) {
                    var n1=parseInt(li1.innerHTML);
                    var n2=parseInt(li2.innerHTML);
                    return n1-n2;
                });
                var i=0;
            oBtn.onclick=function () {
                oul1.appendChild(arr[i]);
                i++;
            }
        }
    </script>

  ========》 

表格的排序

=====》

 <script>
        window.onload=function () {
            var btn1=document.getElementById("btn1");
            var tab1=document.getElementById("tabl1");
          btn1.onclick=function () {
              var arr=[];
              for(var i=0;i<tab1.tBodies[0].rows.length;i++)
                  arr[i]=tabl1.tBodies[0].rows[i];
              arr.sort(function (tr1,tr2) {
                  var n1=tr1.cells[1].innerHTML;
                  var n2=tr2.cells[1].innerHTML;
                  return n1-n2;
              });
              for(var i=0;i<arr.length;i++)
              {
                  tab1.appendChild(arr[i]);
              }

          }
        }
    </script>
</head>
<body>
<input id="btn1"  type="button" value="排序">
<table id="tabl1" border="1" width="500">
    <thead>
    <td>姓名</td>
    <td>年龄</td>
    <td>性别</td>
    </thead>
    <tbody>
    <tr>
        <td>XiaoZhang</td><td>18</td><td>男</td>
    </tr>
    <tr>
        <td>XiaoYun</td><td>26</td><td>男</td>
    </tr>
    <tr>
        <td>XiaoLei</td><td>23</td><td>男</td>
    </tr>
    </tbody>
</table>
</body>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值