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 相关文章推荐
修复ie8&amp;chrome下window的resize事件多次执行
Oct 20 Javascript
JavaScript中数组继承的简单示例
Jul 29 Javascript
jquery性能优化高级技巧
Aug 24 Javascript
三种带箭头提示框总结实例
Jun 14 Javascript
原生js实现无缝轮播图效果
Jan 11 Javascript
vue.js利用defineProperty实现数据的双向绑定
Apr 28 Javascript
node.js中express-session配置项详解
May 31 Javascript
详解JavaScript中的六种错误类型
Sep 21 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
Jul 29 Javascript
JS实现纸牌发牌动画
Jan 19 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多用户读写文件冲突的解决办法
2013/11/06 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
jQuery中click事件的定义和用法
2014/12/20 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
详解JavaScript中循环控制语句的用法
2015/06/03 Javascript
node网页分段渲染详解
2016/09/05 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[06:33]3.19 DOTA2发布会 海涛、冷冷、2009见证希望
2014/03/21 DOTA
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
python实现转圈打印矩阵
2019/03/02 Python
python实现对输入的密文加密
2019/03/20 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
个人银行贷款担保书
2014/04/01 职场文书
最新离婚协议书范本
2014/08/19 职场文书
出国签证在职证明
2014/09/20 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
结婚司仪主持词
2015/06/29 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python