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 相关文章推荐
jquery 简单的进度条实现代码
Mar 11 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
Sep 10 Javascript
JS将表单导出成EXCEL的实例代码
Nov 11 Javascript
60个很实用的jQuery代码开发技巧收集
Dec 15 Javascript
深入解析JavaScript中的数字对象与字符串对象
Oct 21 Javascript
谈谈JavaScript中的几种借用方法
Aug 09 Javascript
js实现点击按钮弹出上传文件的窗口
Dec 23 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
Jan 10 Javascript
Javascript的this用法
Jan 16 Javascript
基于node.js制作简单爬虫教程
Jun 29 Javascript
JS 使用 window对象的print方法实现分页打印功能
May 16 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 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
PHP中copy on write写时复制机制介绍
2014/05/13 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
JavaScript File API实现文件上传预览
2016/02/02 Javascript
javascript求日期差的方法
2016/03/02 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
详解Python import方法引入模块的实例
2017/08/02 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
Python容器类型公共方法总结
2020/08/19 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
Eclipse面试题
2014/03/22 面试题
护士自我鉴定总结
2014/03/24 职场文书
学校捐款活动总结
2015/05/09 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
人民调解协议书
2016/03/21 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
pandas提升计算效率的一些方法汇总
2021/05/30 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript