用jquery.sortElements实现table排序


Posted in Javascript onMay 04, 2014

项目中要实现table排序的功能。

网上有很多解决方案,很多都基于jQuery。

jquery.tablesorter,大小17KB,不过他的首页在ie10下兼容性有点问题。
DataTables,大小75KB,功能强大,带分页,搜索等功能。
还有插件叫sortElements,很小巧,只有3KB,兼容性也不错,而且在Github上有818个星。

最后我选择用sortElements,实现很简单:

1. 引入jQuery

<script type="text/javascript" src="jquery.js"></script>

2. 引入sortElements.js
<script type="text/javascript" src="jquery.sortElements.js"></script>

3. js 代码
$(document).ready(function(){ 
var table = $('#mytable');//table的id 
$('#sort_header')//要排序的headerid 
.each(function(){ 
var th = $(this), 
thIndex = th.index(), 
inverse = false; th.click(function(){ 
table.find('td').filter(function(){ 
return $(this).index() === thIndex; 
}).sortElements(function(a, b){ 
return $.text([a]) > $.text([b]) ? 
inverse ? -1 : 1 
: inverse ? 1 : -1; 
}, function(){ 
return this.parentNode; 
}); 
inverse = !inverse; 
}); 
}); 
});

4. html代码
<table id="mytable"> 
<tr> 
<th id="sort_header">Facility name</th> 
<th>Phone #</th> 
<th id="city_header">City</th> 
<th>Speciality</th> 
</tr> 
<tr> 
<td>CCC</td> 
<td>00001111</td> 
<td>Amsterdam</td> 
<td>GGG</td> 
</tr> 
... 
</table>
Javascript 相关文章推荐
在Z-Blog中运行代码[html][/html](纯JS版)
Mar 25 Javascript
javascript[js]获取url参数的代码
Oct 17 Javascript
js获取图片大小的函数代码
Sep 20 Javascript
js 遍历json返回的map内容示例代码
Oct 29 Javascript
JS生成随机字符串的多种方法
Jun 10 Javascript
JavaScript实现的in_array函数
Aug 27 Javascript
jQuery+css实现的切换图片功能代码
Jan 27 Javascript
微信小程序 MINA文件结构
Oct 17 Javascript
详解js的事件处理函数和动态创建html标记方法
Dec 16 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
Apr 20 Javascript
解决LayUI数据表格复选框不居中显示的问题
Sep 25 Javascript
JavaScript实例 ODO List分析
Jan 22 Javascript
jquery实现的鼠标拖动排序Li或Table
May 04 #Javascript
自己用jQuery写了一个图片的马赛克消失效果
May 04 #Javascript
javascript实现2048游戏示例
May 04 #Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 #Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
May 04 #Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 #Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
May 04 #Javascript
You might like
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
为数据添加append,remove功能
2006/10/03 Javascript
jQuery使用手册之一
2007/03/24 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
日本航空官方网站:JAL
2019/06/19 全球购物
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
给老婆的保证书
2015/01/16 职场文书
2015年工程师工作总结
2015/04/30 职场文书
安全教育培训心得体会
2016/01/15 职场文书
Python合并pdf文件的工具
2021/07/01 Python
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript