用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 相关文章推荐
解决jquery .ajax 在IE下卡死问题的解决方法
Oct 26 Javascript
jQuery UI AutoComplete 自动完成使用小记
Aug 21 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
Feb 27 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
May 28 Javascript
全面了解JS中的匿名函数
Jun 29 Javascript
基于JavaScript实现在新的tab页打开url
Aug 04 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
Apr 13 Javascript
websocket+node.js实现实时聊天系统问题咨询
May 17 Javascript
Angularjs验证用户输入的字符串是否为日期时间
Jun 01 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
Jun 20 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
Dec 28 Javascript
vue基于viewer实现的图片查看器功能
Apr 12 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学习之 数组声明
2011/06/09 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
IE下js调试工具Companion.JS
2010/10/15 Javascript
js用Date对象处理时间实现思路及代码
2013/01/31 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
Ajax提交与传统表单提交的区别说明
2014/02/07 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
python计算圆周率pi的方法
2015/07/11 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
EJB的几种类型
2012/08/15 面试题
电气自动化个人求职信范文
2014/02/03 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
酒店前台岗位职责
2015/04/16 职场文书
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server