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 相关文章推荐
jquery 双色表格实现代码
Dec 08 Javascript
JS正则中的RegExp对象对象
Nov 07 Javascript
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 Javascript
jQuery中andSelf()方法用法实例
Jan 08 Javascript
js计算系统当前日期是星期几的方法
Jul 14 Javascript
JavaScript DOM节点操作方法总结
Aug 23 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
Jan 25 Javascript
ES6新特性一: let和const命令详解
Apr 20 Javascript
js canvas实现擦除效果示例代码
Apr 26 Javascript
微信小程序button组件使用详解
Jan 31 Javascript
cdn模式下vue的基本用法详解
Oct 07 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
Jan 08 Javascript
文本框只能输入数字的实现方法(兼容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和MySql中计算时间差的方法
2011/04/22 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
PHP实现递归的三种方法
2020/07/04 PHP
Javascript 继承机制的实现
2009/08/12 Javascript
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
python3操作mysql数据库的方法
2017/06/23 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
使用python 3实现发送邮件功能
2018/06/15 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
法学院方阵解说词
2014/01/29 职场文书
财务总监岗位职责
2014/03/07 职场文书
慰问信范文
2015/02/14 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书