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 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(4)
Dec 23 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
Dec 27 Javascript
jquery入门—访问DOM对象方法
Jan 07 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
Apr 10 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
Jan 04 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
Dec 29 jQuery
详解javascript中的Error对象
Apr 25 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
May 12 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 Javascript
JavaScript计算出两个数的差值
Mar 19 Javascript
javascript实现左右缓动动画函数
Nov 25 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的FTP学习(三)
2006/10/09 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
查看django版本的方法分享
2018/05/14 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
精灵市场:Pixie Market
2019/06/18 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
物流管理应届生求职信
2013/11/07 职场文书
2014庆六一活动方案
2014/03/02 职场文书
外贸专业求职信
2014/03/09 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
英语邀请函范文
2015/02/02 职场文书
党支部书记岗位职责
2015/02/15 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
MySQL的join buffer原理
2021/04/29 MySQL