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 小实例 关于按字母排序的更多相关文章

  1. 【jQuery小实例】---2自定义动画

    ---本系列文章所用使用js均可在本博客文件中找到 本节用jQuery完一个简易的动画效果,一个小驴跑跑的效果.和一个类似qq面板效果.大致也分为三步:添加jquery-1.8.3.js文件.这个是不 ...

  2. 【jQuery小实例】---3 凤凰网首页图片动态效果

    ---本系列文章所用使用js均可在本博客文件中找到 本页面实现类似于凤凰网首页,鼠标点击新闻,可以在div中显示新闻图片,点击军事显示军事图片的效果.采用的思路是:鼠标悬浮,显示当前div中的内容(图 ...

  3. 【jQuery小实例】js 插件 查看图片

    ---本系列文章所用使用js均可在本博客文件中找到. 像淘宝一样,鼠标放在某一件商品上,展示大图信息,甚至查看图片的具体部位.给人超炫的效果,这种效果实现基于js文件和js插件.大致可以分为三步,添加 ...

  4. Jquery小实例

    1正反选 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  5. jquery-1 jquery几个小实例

    jquery-1  jquery几个小实例 一.总结 一句话总结:jquery真的是简单加简便. 1.jquery中改变多个css属性怎么整? 可以链式连接方式,也可以大括号整多个.中间是键值对加引号 ...

  6. 微信小程序通讯录字母排序

    微信小程序通讯录 字母排序效果: demo地址:https://github.com/PeachCoder/wechat-contacts

  7. 三道习题(1、将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别。 #输入格式:按字典序由小到大输入若干个单词,每个单词占一行,以end结束输入。)

    #coding=gbk ''' 1.将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别. #输入格式:按字典序由小到大输入若干 ...

  8. Android 联系人字母排序(仿微信)

    现在很多APP只要涉及到联系人的界面,几乎都会采取字母排序以及导航的方式.作为程序猿,这种已经普及的需求还是需要学习的,于是小生开始了在网上默默的学习之路,网上学习的资料质量参差不齐,不过也有很不错的 ...

  9. 一个简单的jQuery插件开发实例

    两年前写的一个简单的jQuery插件开发实例,还是可以看看的: <script type="text/javascript" src="jquery-1.7.2.m ...

随机推荐

  1. ios app抓包分析

    1 使用rvictl工具 这是mac下的一条命令.ios usb连mac,然后创建虚拟网络接口. 2 使用wireshark抓包 wireshark可以抓这个虚拟网络接口上的数据包.

  2. 关于树论【LCA树上倍增算法】

    补了一发LCA,表示这东西表面上好像简单,但是细节真挺多. 我学的是树上倍增,倍增思想很有趣~~(爸爸的爸爸叫奶奶.偶不,爷爷)有一个跟st表非常类似的东西,f[i][j]表示j的第2^i的祖先,就是 ...

  3. YTU 1005: 渊子赛马

    1005: 渊子赛马 时间限制: 1000 Sec  内存限制: 64 MB 提交: 338  解决: 49 题目描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为&qu ...

  4. web前端技术社区分享

    web前端技术社区分享 一.国外的前端技术网站:    1. 名称:W3C: 网址:http://www.w3.org/ 理由:前端技术的规范标准几乎都是W3C制定的  2.名称:ECMA 网址:ht ...

  5. coderfoces446c (斐波那契数列)

    题目描述: 区间增值,但是每一项增加的值为Fi - l + 1,F[i]为斐波那契数列,求区间和? 考虑线段树,刚开始想用斐波那契数列的前n项和,可是推不出来,考虑到每个区间的增值序列都是一段斐波那契 ...

  6. bzoj 4596

    4596: [Shoi2016]黑暗前的幻想乡 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 257  Solved: 152[Submit][Sta ...

  7. 使用jQuery的tab控件

    以前写winform程序的时候tab控件是非常容易使用的,写网页时确费了我不少劲,主要原因是jQuery的混乱. 有很多前端控件都提供tab,像bootstrap等,这里只说jQuery的. 下载相应 ...

  8. Codeforces Round #325D (Div. 2) (DP)

    题目链接: D. Phillip and Trains 分析:dp 我们先初始化,dp[i]表示当前列第i行是否可达,r[i]表示上一个dp值,接下来从头搜到尾 如果该位置满足s[i+1]=='.'且 ...

  9. Linux 常用命令六 cp和mv

    一.cp命令 Linux中的复制命令. 复制文件: wang@wang:~/workpalce/python$ tree . ├── .txt ├── dir └── module directori ...

  10. hdu 1025 Constructing Roads In JGShining's Kingdom

    本题明白题意以后,就可以看出是让求最长上升子序列,但是不知道最长上升子序列的算法,用了很多YY的方法去做,最后还是超时, 因为普通算法时间复杂度为O(n*2),去搜了题解,学习了一下,感觉不错,拿出来 ...