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. 使用spring框架时,使用xml还是注解

    1 xml的优缺点 1.1 优点 解耦合,方便维护.xml不入侵代码,方便代码阅读. 1.2 缺点 开发速度慢. 2 注解的优缺点 2.1 优点 能够加快开发速度,因为它将常用的主体逻辑隐藏在注解中了 ...

  2. Android应用基础学习记录

    01_前言 前言,了解了Android的情况.这里也介绍一下本文.本文是记录学习Android应用程序开发过程,视频中使用的Android2.2版本号,我以4.2版本号为基础,找出当中的差异并记录下来 ...

  3. 珠海鼎芯(D-Chip)IMX6读取CPU的UID的方法【转】

    本文转载自:http://blog.csdn.net/williamdedong/article/details/52712084 在使用IMX6板子的时候,有时会想着是否可以把板子搞一个唯一标识呢, ...

  4. 《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE【转】

    本文转载自:http://www.cnblogs.com/52php/p/5681745.html 前言: 开发了5,6年的时间,如果没有KDE4,也许不会有人或者Linux发行版本重视cmake,因 ...

  5. beyond compare 比较文本 standard alignment VS unaligned

    在Rules里面 Standard Alignment 这种方式会比较找出相同的部分,可能会跨行找相同的 Unaligned 这种比较直接每一行之间相互比较,不跨行找相同的

  6. Lightoj 1068(数位DP)

    求一段区间中被k整除,各个位数相加之和被k整除的数的个数. 这不是重点,重点是k太大了,最大值有10000,所以不能直接开那么大的数组. 仔细分析一下可以发现,由于数最大是2的31次方(2147483 ...

  7. 使用Jquery动态加入对象的集合属性,提交集合属性到表单

    1.设置模型,引入构造函数,初始化集合 public class Person { public Person() //引入构造函数,初始化集合.如果未设置构造函数,集合会出现错误. { Skills ...

  8. git合并相关问题(copy)

    [说明:资料来自http://gitbook.liuhui998.com/3_3.html] 一个Git仓库可以维护很多开发分支.现在我们来创建一个新的叫”experimental”的分支: $ gi ...

  9. linux简单技巧和怎么样进入root用户

    1.使用shell的Tab键自动补全 Tab在linux命令行输入中可以自动完成.在linux 命令行中使用Tab键会极大提高输入效率2.使用shell的历史记录 shell会记录用户执行命令的历史记 ...

  10. Codeforces Round #259 (Div. 1)A(公式)

    传送门 题意 给出m个面的骰子扔n次,取最大值,求期望 分析 暴力算会有重复,而且复杂度不对. 考虑m个面扔n次得到m的概率,发现只要减去(m-1)个面扔n次得到m-1的概率即可,给出example说 ...