JS简单实现表格排序功能示例


Posted in Javascript onDecember 20, 2016

本文实例讲述了JS简单实现表格排序功能的方法。分享给大家供大家参考,具体如下:

思路遍历每个li,并把它们存放到数组中去,然后通过sort()方法进行排序,再插入

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>排序</title>
</head>
<body>
  <input type="button" value="排序按钮" id="btn1">
  <ul id="ul1">
    <li>58</li>
    <li>8</li>
    <li>31</li>
    <li>98</li>
    <li>75</li>
  </ul>
<script type="text/javascript">
  window.onload=function(){
    var oBtn=document.getElementById("btn1");
    var arr=[];
    var oUl=document.getElementById("ul1");
    var aLi=oUl.getElementsByTagName("li");
    var i;
    var bAsc=true;
    oBtn.onclick=function(){
      for(i=0;i<aLi.length;i++){
        arr[i]=aLi[i];
      }
      arr.sort(function(li1,li2){
        if(bAsc){
          return parseInt(li1.innerHTML)-parseInt(li2.innerHTML);
        }
        else{
          return parseInt(li2.innerHTML)-parseInt(li1.innerHTML);
        }
      });
      for(i=0;i<arr.length;i++){
        oUl.appendChild(arr[i]); //appendChild实际上分两步  1.先移除父级 2.添加到新的父级 (添加到原本的父级就相当于把当前元素拿到队列的末尾)
      }
      if(bAsc){
        bAsc=false;
      } //==>bAsc=!bAsc;  //简化写法
      else{
        bAsc=true;
      }
    };
  }
</script>
</body>
</html>

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

Javascript 相关文章推荐
纯js实现瀑布流展现照片(自动适应窗口大小)
Apr 08 Javascript
Javascript弹出窗口的各种方法总结
Nov 11 Javascript
JavaScript中5种调用函数的方法
Mar 12 Javascript
不想让浏览器运行javascript脚本的方法
Nov 20 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
微信小程序 侧滑删除(左滑删除)
May 23 Javascript
JS面向对象的程序设计相关知识小结
May 26 Javascript
JS实现可切换图片的幻灯切换效果示例
May 24 Javascript
为vue项目自动设置请求状态的配置方法
Jun 09 Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
Nov 14 Javascript
如何使用JS console.log()技巧提高工作效率
Oct 14 Javascript
深入了解JavaScript的逻辑运算符(与、或)
Dec 20 #Javascript
js定时器实例分享
Dec 20 #Javascript
BootStrap Table 获取同行不同列元素的方法
Dec 19 #Javascript
Jquery Easyui进度条组件Progress使用详解(8)
Mar 26 #Javascript
详解Jquery的事件操作和文档操作
Dec 19 #Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 #Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 #Javascript
You might like
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
开启PHP的伪静态模式
2015/12/31 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
PHP实现验证码校验功能
2017/11/16 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
Node 代理访问的实现
2019/09/19 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
jQuery实现滑动开关效果
2020/08/02 jQuery
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
面试后的感谢信范文
2014/02/01 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
Python函数式编程中itertools模块详解
2021/09/15 Python
Python sklearn分类决策树方法详解
2022/09/23 Python