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中令你抓狂的魔术变量
Nov 30 Javascript
js判断样式className同时增加class或删除class
Jan 30 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
Aug 24 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
探索Vue.js component内容实现
Nov 03 Javascript
JavaScript实现二分查找实例代码
Feb 22 Javascript
jquery将标签元素的高设为屏幕的百分比
Apr 19 jQuery
AngualrJs清除定时器遇到的坑
Oct 13 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
Apr 13 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
Aug 20 Javascript
解决VUEX的mapState/...mapState等取值问题
Jul 24 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数据压缩、加解密(pack, unpack)
2016/12/17 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
跟老齐学Python之集合(set)
2014/09/24 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
python pandas库的安装和创建
2019/01/10 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
Django REST framework视图的用法
2019/01/16 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
军训生自我鉴定范文
2013/12/27 职场文书
给小学生的新年寄语
2014/04/04 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
授权委托书范文
2014/07/31 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
个人收入证明范本
2015/06/12 职场文书
红色经典观后感
2015/06/18 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python