jQuery实现对无序列表的排序功能(附demo源码下载)


Posted in Javascript onJune 25, 2016

本文实例讲述了jQuery实现对无序列表的排序功能。分享给大家供大家参考,具体如下:

利用jQuery对无序列表排序的原理是:获取到无序列表中的所有列表项,并转成数组形式,使用JavaScript函数对其进行排序后再次输出。其中使用到的jQuery函数有ready()、get()、text()、each()、append()和JavaScript函数sort()。

1.jQuery函数介绍

(1)jQuery函数get()--获取匹配元素集合

该函数取得所有匹配元素的一种向后兼容的方式(不同于jQuery对象,实际上是元素数组)。其语法形式如下:

object.get()

注:如果你想要直接操作DOM对象而不是jQuery对象,这个函数非常有用。

(2)jQuery函数text()--获取和设置元素内容

该函数获取和设置匹配元素的文本内容。其语法形式如下:

object.text([val|fn])

注:val和fn参数可选。val是设置元素的文本内容值;fn(index,text)函数返回一个字符串,接受两个参数,index为元素在集合中的索引位置,text为原先的text值。

(3)jQuery函数append()--向元素追加内容

该函数向每个匹配的元素内部追加内容。其语法形式如下:

object.append(content|fn)

注:这个操作与对指定的元素执行appendChild方法并将它们添加到文档中的情况类似。content参数表示追加的内容;fn(index,html)返回一个HTML字符串,用于追加到每一个匹配元素内部,接受两个参数,index参数为对象在这个集合中的索引值,html参数为这个对象原先的html值。

2.JavaScript函数介绍

JavaScript函数sort()--元素排序,用于对数组元素进行排序。其语法形式如下:

arrayObject.sort([sortby])

注:sortby可选,规定排列顺序,必须是函数。返回值为排序后的数组本身。如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序。说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,其返回值如下:若a小于b,在排序后的数组中a应该出现在b之前,则返回一个小于0的值。若a等于b,则返回0。若a大于b,则返回一个大于0的值。

3.功能实现

实现无序列表项排序功能的步骤如下。

(1)获取所有的列表项,并将其装入数组。

(2)对数组对象进行排序。

(3)将排好序的数组重新填充到无序列表中。

首先,把jQuery库引入进来:

<script language="JavaScript" src="jquery-1.7.2.min.js"></script>

然后,添加如下排序功能代码:

<script language="JavaScript" type="text/JavaScript">
 $(document).ready(function(){
  var items = $(".orderobj li").get(); //获取所有待排序li装入数组items
  items.sort(function(a,b) //调用JavaScript内置函数sort
  {
    var elementone = $(a).text();
    var elementtwo = $(b).text();
    if(elementone < elementtwo) return -1;
    if(elementone > elementtwo) return 1;
   return 0;
 });
 var ul = $(".orderobj");
 $.each(items,function(i,li)
 //通过遍历每一个数组元素,填充无序列表
 {
   ul.append(li);
 });
 });
</script>

以上代码通过数组排序并重新填充无序列表使得列表项有序。具体效果如图:

jQuery实现对无序列表的排序功能(附demo源码下载)

完整实例代码点击此处本站下载。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
看了就知道什么是JSON
Dec 09 Javascript
[原创]用javascript实现检测指定目录是否存在的方法
Jan 12 Javascript
JavaScript中的对象化编程
Jan 16 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
Apr 15 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
Jun 24 Javascript
node.js中的http.createServer方法使用说明
Dec 14 Javascript
javascript连续赋值问题
Jul 08 Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 Javascript
Bootstrap标签页(Tab)插件使用方法
Mar 21 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
Jul 09 Javascript
JS验证输入的是否是数字及保留几位小数问题
May 09 Javascript
Jquery让form表单异步提交代码实现
Nov 14 jQuery
文本框只能输入数字的实现方法(兼容IE火狐)
Jun 25 #Javascript
js操作XML文件的实现方法兼容IE与FireFox
Jun 25 #Javascript
js将滚动条滚动到指定位置的简单实现方法
Jun 25 #Javascript
jQuery图片渐变特效的简单实现
Jun 25 #Javascript
js删除局部变量的实现方法
Jun 25 #Javascript
浅谈JQuery+ajax+jsonp 跨域访问
Jun 25 #Javascript
javascript 广告移动特效的实现代码
Jun 25 #Javascript
You might like
php实现的替换敏感字符串类实例
2014/09/22 PHP
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
JS跨域问题详解
2014/11/25 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
pygame实现飞机大战
2020/03/11 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
三维科技面试题
2013/07/27 面试题
基层干部十八大感言
2014/01/19 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
平安建设汇报材料
2014/12/29 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
销售会议开幕词
2016/03/04 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书
Python中glob库实现文件名的匹配
2021/06/18 Python