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 相关文章推荐
js创建对象的方式总结
Jan 10 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
Nov 09 Javascript
如何使用jquery easyui创建标签组件
Nov 18 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
Apr 20 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
layer设置maxWidth及maxHeight解决方案
Jul 26 Javascript
node.JS事件机制与events事件模块的使用方法详解
Feb 06 Javascript
Vue微信公众号网页分享的示例代码
May 28 Javascript
js+css3实现炫酷时钟
Aug 18 Javascript
JavaScript实现世界各地时间显示
Sep 07 Javascript
JS实现手风琴特效
Nov 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(3)
2006/10/09 PHP
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
微信小程序云开发之数据库操作
2019/05/18 Javascript
教你如何用Node实现API的转发(某音乐)
2019/09/20 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
python操作日期和时间的方法
2014/03/11 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Ratchet 模态框的实现
2020/08/19 HTML / CSS
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
大学生村官承诺书
2014/03/28 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
Python 视频画质增强
2022/04/28 Python