用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 相关文章推荐
ExtJS的FieldSet的column列布局
Nov 20 Javascript
JS 显示当前日期与时间的代码
Mar 24 Javascript
基于jquery的获取mouse坐标插件的实现代码
Apr 01 Javascript
jQuery EasyUI NumberBox(数字框)的用法
Jul 08 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
Feb 06 Javascript
jQuery层动画定位滑动效果的方法
Apr 30 Javascript
JavaScript代码判断点击第几个按钮
Dec 13 Javascript
AngularJS Bootstrap详细介绍及实例代码
Jul 28 Javascript
vue引入ueditor及node后台配置详解
Jan 03 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
js中的this的指向问题详解
Aug 29 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
Nov 11 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
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
javascript数组拍平方法总结
2018/01/20 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
python实现电子词典
2020/04/23 Python
python使用心得之获得github代码库列表
2014/06/25 Python
Python时间的精准正则匹配方法分析
2017/08/17 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
django 外键model的互相读取方法
2018/12/15 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
英语国培研修感言
2014/02/13 职场文书
抗震救灾标语
2014/06/26 职场文书
2014年国庆标语
2014/06/30 职场文书
五一劳动节演讲稿
2014/09/12 职场文书
元旦标语大全
2014/10/09 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python