用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 相关文章推荐
根据分辨率不同,调用不同的css文件
Aug 25 Javascript
用jQuery扩展自写的 UI导航
Jan 13 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
Dec 19 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
Sep 23 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
Aug 01 Javascript
Javascript typeof与instanceof的区别
Oct 18 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
Vue监听数据对象变化源码
Mar 09 Javascript
angular2路由切换改变页面title的示例代码
Aug 23 Javascript
vue-cli项目中使用echarts图表实例
Oct 22 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
JS实现图片幻灯片效果代码实例
May 21 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 cookis创建实现代码
2009/03/16 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
JavaScript游戏之优化篇
2010/11/08 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
python写日志封装类实例
2015/06/28 Python
Python中的 enum 模块源码详析
2019/01/09 Python
Python常见的pandas用法demo示例
2019/03/16 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
Python多线程多进程实例对比解析
2020/03/12 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
秘书行业自我鉴定范文
2013/12/30 职场文书
房地产融资计划书
2014/01/10 职场文书
九年级数学教学反思
2014/02/02 职场文书
家长对老师的感言
2014/03/11 职场文书
大学生工作自荐书
2014/06/16 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis