用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 相关文章推荐
List the Codec Files on a Computer
Jun 18 Javascript
javascript[js]获取url参数的代码
Oct 17 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
Mar 25 Javascript
JS实现点击下载的小例子
Jul 10 Javascript
BootStrapValidator初使用教程详解
Feb 10 Javascript
less简单入门(CSS 预处理语言)
Mar 08 Javascript
在js中做数字字符串补0(js补零)
Mar 25 Javascript
简单实现js点击展开二级菜单功能
May 16 Javascript
微信小程序利用co处理异步流程的方法教程
May 20 Javascript
jQuery中内容过滤器简单用法示例
Mar 31 jQuery
详解vue路由篇(动态路由、路由嵌套)
Jan 27 Javascript
原生JS实现音乐播放器
Jan 26 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初学者头痛的十四个问题
2006/07/12 PHP
如何给phpadmin一个保护
2006/10/09 PHP
我用php+mysql写的留言本
2006/10/09 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
php导入模块文件分享
2015/03/17 PHP
用javascript操作xml
2006/11/04 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Django中对数据查询结果进行排序的方法
2015/07/17 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
python查看数据类型的方法
2019/10/12 Python
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
行政助理岗位职责范文
2013/12/03 职场文书
大学生职业生涯规划方案
2014/01/03 职场文书
单位委托书范本
2014/04/04 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
行为规范主题班会
2015/08/13 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python