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 相关文章推荐
google地图的路线实现代码
Aug 20 Javascript
JavaScript 原型继承之构造函数继承
Aug 26 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
Mar 04 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
Apr 19 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
BootStrap创建响应式导航条实例代码
May 31 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
Dec 19 Javascript
js获取元素下的第一级子元素的方法(推荐)
Mar 05 Javascript
jQuery Validate 校验多个相同name的方法
May 18 jQuery
AngularJS上传文件的示例代码
Nov 10 Javascript
vue过滤器用法实例分析
Mar 15 Javascript
如何让vue长列表快速加载
Mar 29 Vue.js
深入了解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
解析coreseek for sphinx的使用
2013/06/21 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
17个Python小技巧分享
2015/01/23 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
医学专业个人求职自荐信格式
2013/09/23 职场文书
终止劳动合同协议书
2014/04/14 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
技术经济专业求职信
2014/09/03 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers
MySQL系列之四 SQL语法
2021/07/02 MySQL