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 相关文章推荐
asp javascript 实现关闭窗口时保存数据的办法
Nov 24 Javascript
JS 用6N±1法求素数 实例教程
Oct 20 Javascript
利用javascript解决图片缩放及其优化的代码
May 23 Javascript
js动态创建、删除表格示例代码
Aug 07 Javascript
javascript框架设计之种子模块
Jun 23 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
Jan 14 Javascript
Bootstrap源码解读网格系统(3)
Dec 22 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
Sep 10 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
Feb 10 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
Jul 19 Javascript
token 机制和实现方式
Dec 15 Javascript
JavaScript parseInt0.0000005打印5原理解析
Jul 23 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 IDE phpstorm 常用快捷键
2015/05/18 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
Laravel日志用法详解
2016/10/09 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
js left,right,mid函数
2008/06/10 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
Python使用pickle模块实现序列化功能示例
2018/07/13 Python
python如何基于redis实现ip代理池
2020/01/17 Python
Django重设Admin密码过程解析
2020/02/10 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
jupyter 添加不同内核的操作
2021/02/06 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
函授毕业生自我鉴定
2013/11/06 职场文书
税务干部鉴定材料
2014/02/11 职场文书
工作保证书怎么写
2015/02/28 职场文书
材料采购员岗位职责
2015/04/03 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android