jQuery 小实例 关于按字母排序
jQuery的强大再次不再赘述
一般情况下操作表格式数据的一种最常见的任务就是排序,在一个大型的表格中,能够对要寻找的信息进行重新排列是非常重要的,一般情况用来完成排序的方式有两种
:一种是服务器端排序,另一种是javascript排序,今天就来说说第二种排序:即脚本排序
上代码
<table class="sortable">
<thead>
<tr>
<th></th>
<th class="sort-alpha">Title</th>
<th>Author</th>
<th>Publish Date</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<img src="Images/accent.png" />
</td>
<td>zuilding
</td>
<td>Hagen Graf
</td>
<td>Feb 2007
</td>
<td>$40.49
</td>
</tr>
<tr>
<td>
<img src="Images/bullet.png" />
</td>
<td>Learning
</td>
<td>Douglas Paterson
</td>
<td>Dec 2006
</td>
<td>$40.49
</td>
</tr>
<tr>
<td>
<img src="Images/accent.png" />
</td>
<td>Observations
</td>
<td>Hagen Graf
</td>
<td>Feb 2007
</td>
<td>$40.49
</td>
</tr>
<tr>
<td>
<img src="Images/accent.png" />
</td>
<td>Global
</td>
<td>Hagen Graf
</td>
<td>Feb 2007
</td>
<td>$40.49
</td>
</tr>
<tr>
<td>
<img src="Images/accent.png" />
</td>
<td>China's
</td>
<td>Hagen Graf
</td>
<td>Feb 2007
</td>
<td>$40.49
</td>
</tr>
</tbody> </table>
以上就是做一个简单的排序的表格,按标题进行排序
<script type="text/javascript">
$(document).ready(function () {
//这个方法是对奇偶行样式的控制
var altercolumu = function ($table) {
$('tbody tr:odd', $table).removeClass('even').addClass('odd');
$('tbody tr:even', $table).removeClass('odd').addClass('even');
} $('table.sortable').each(function () {
var $table = $(this);
altercolumu($table);
$('th', $table).each(function (column) {
//遍历th标签找到class的属性为sort-alpha进行操作
if ($(this).is('.sort-alpha')) {
//设置鼠标移入和移除时的样式
$(this).addClass('.clickable').hover(function () {
$(this).addClass('.hover');
}, function () {
$(this).removeClass('.hover');
}).click(function () {
//在这里出发click事件时获取行元素的信息
var rows = $table.find('tbody > tr').get();
//这里主要调用sort这个方法进行排序
rows.sort();
rows.sort(function (a, b) {
var keyA = $(a).children('td').eq(column).text().toUpperCase();
var keyB = $(b).children('td').eq(column).text().toUpperCase();
if (keyA < keyB) return -1;
if (keyA > keyB) return 1;
return 0;
});
//重新排序后在进行显示的输出
$.each(rows, function (index, row) {
//这里面我用了append的方法因为这个方法不会复制节点,并且该方法会移动表格行而不是复制表格行
$table.children('tbody').append(row);
});
altercolumu($table);
});
}
});
});
}); </script>
这么一个小例子就完成了,可能写的不是很好,求指教
jQuery 小实例 关于按字母排序的更多相关文章
- 【jQuery小实例】---2自定义动画
---本系列文章所用使用js均可在本博客文件中找到 本节用jQuery完一个简易的动画效果,一个小驴跑跑的效果.和一个类似qq面板效果.大致也分为三步:添加jquery-1.8.3.js文件.这个是不 ...
- 【jQuery小实例】---3 凤凰网首页图片动态效果
---本系列文章所用使用js均可在本博客文件中找到 本页面实现类似于凤凰网首页,鼠标点击新闻,可以在div中显示新闻图片,点击军事显示军事图片的效果.采用的思路是:鼠标悬浮,显示当前div中的内容(图 ...
- 【jQuery小实例】js 插件 查看图片
---本系列文章所用使用js均可在本博客文件中找到. 像淘宝一样,鼠标放在某一件商品上,展示大图信息,甚至查看图片的具体部位.给人超炫的效果,这种效果实现基于js文件和js插件.大致可以分为三步,添加 ...
- Jquery小实例
1正反选 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- jquery-1 jquery几个小实例
jquery-1 jquery几个小实例 一.总结 一句话总结:jquery真的是简单加简便. 1.jquery中改变多个css属性怎么整? 可以链式连接方式,也可以大括号整多个.中间是键值对加引号 ...
- 微信小程序通讯录字母排序
微信小程序通讯录 字母排序效果: demo地址:https://github.com/PeachCoder/wechat-contacts
- 三道习题(1、将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别。 #输入格式:按字典序由小到大输入若干个单词,每个单词占一行,以end结束输入。)
#coding=gbk ''' 1.将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别. #输入格式:按字典序由小到大输入若干 ...
- Android 联系人字母排序(仿微信)
现在很多APP只要涉及到联系人的界面,几乎都会采取字母排序以及导航的方式.作为程序猿,这种已经普及的需求还是需要学习的,于是小生开始了在网上默默的学习之路,网上学习的资料质量参差不齐,不过也有很不错的 ...
- 一个简单的jQuery插件开发实例
两年前写的一个简单的jQuery插件开发实例,还是可以看看的: <script type="text/javascript" src="jquery-1.7.2.m ...
随机推荐
- XMU 1056 瞌睡 vs 听课 【动态规划】
1056: 瞌睡 vs 听课 Time Limit: 500 MS Memory Limit: 64 MBSubmit: 19 Solved: 6[Submit][Status][Web Boar ...
- 添加和删除节点(HTML元素)
创建新的HTML元素 <div id="div1"> <p id="p1">这是一个段落</p> <p id=&quo ...
- 替换Android自带apk【转】
本文转载自:http://www.voidcn.com/article/p-gonowdjh-vz.html 安卓自带的app放在/system/app/下,当我们想要替换这些应用时可以参考如下步骤: ...
- UVALive3989 Ladies' Choice —— 稳定婚姻问题 Gale - Shapely算法
题目链接:https://vjudge.net/problem/UVALive-3989 题解: 题意:有n个男生和n个女生.每个女生对男神都有个好感度排行,同时每个男生对每个女生也有一个好感度排行. ...
- 织梦万能调用LOOP标签!
1,安装DEDE织梦程序时候,数据库名称设置独立的一个. 2,雨田SEOER这里用的是在织梦本地文件夹中新建myblog文件夹,然后里面装入emlog_5.3.0的安装文件.URL地址栏输入htt ...
- UVA11722概率问题之线性规划
链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&am ...
- AutoIT: ControlSetText
1. ControlSetText :可以摆脱Send的限制,在适当的文本框位置输入用户想要输入的信息.2. ControlGetText可以获取文本 Run("notepad.exe&qu ...
- bzoj 3489 A simple rmq problem —— 主席树套线段树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3489 题解:http://www.itdaan.com/blog/2017/11/24/9b ...
- Python解压缩ZIP格式
转自:http://blog.csdn.net/linux__kernel/article/details/8271326 很多人在Google上不停的找合适自己的压缩,殊不知Py的压缩很不错.可以试 ...
- 腾讯QQ空间应用宽屏接入
QQ 空间接入宽屏. (与腾讯微博分属两个不同平台) 相关文档: 流动应用画布说明 前端页面规范 多区多服场景说明 应用宽屏根据游戏分为两种. 1: 普通游戏,但想要实现宽屏显示. 2: 多区多服 ...