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实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
js利用div背景,做一个竖线的效果。
Nov 22 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
Aug 22 Javascript
js切换光标示例代码
Oct 10 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
Apr 27 Javascript
学习使用bootstrap的modal和carousel
Dec 09 Javascript
详解jQuery uploadify文件上传插件的使用方法
Dec 16 Javascript
JavaScript数据结构中串的表示与应用实例
Apr 12 Javascript
原生javascript实现分页效果
Apr 21 Javascript
js 实现复选框只能选择一项的示例代码
Jan 23 Javascript
Express之托管静态文件的方法
Jun 01 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
Nov 13 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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
ReactNative-JS 调用原生方法实例代码
2016/10/08 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
python实现的登录和操作开心网脚本分享
2014/07/09 Python
python图像处理之反色实现方法
2015/05/30 Python
Python实现购物程序思路及代码
2017/07/24 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
django 将model转换为字典的方法示例
2018/10/16 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
python 错误处理 assert详解
2020/04/20 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
银行个人求职自荐信范文
2013/12/16 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
六查六看自查报告
2014/10/14 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
珍爱生命主题班会
2015/08/13 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
用JS创建一个录屏功能
2021/11/11 Javascript