利用jQuery对无序列表排序的简单方法


Posted in Javascript onOctober 16, 2016

利用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="jslib/jquery-1.6.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对无序列表排序的简单方法 

具体效果如图4.11所示。

以上就是小编为大家带来的利用jQuery对无序列表排序的简单方法全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
[原创]保存的js无法执行的解决办法
Feb 25 Javascript
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
js模拟select下拉菜单控件的代码
May 08 Javascript
原生Javascript封装的一个AJAX函数分享
Oct 11 Javascript
jQuery提示效果代码分享
Nov 20 Javascript
node.js中的fs.createWriteStream方法使用说明
Dec 17 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 Javascript
小程序云开发之用户注册登录
May 18 Javascript
解决ele ui 表格表头太长问题的实现
Nov 13 Javascript
vue+animation实现翻页动画
Jun 29 Javascript
vue实现移动端拖动排序
Aug 21 Javascript
element-ui点击查看大图的方法示例
Dec 14 Javascript
JS实现动态增加和删除li标签行的实例代码
Oct 16 #Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 #Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
Oct 16 #Javascript
JS实现禁止鼠标右键的功能
Oct 15 #Javascript
Vue.js快速入门实例教程
Oct 15 #Javascript
JavaScript随机生成颜色的方法
Oct 15 #Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
Oct 15 #Javascript
You might like
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
Python写入数据到MP3文件中的方法
2015/07/10 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
html5绘制时钟动画
2014/12/15 HTML / CSS
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
什么是封装
2013/03/26 面试题
材料成型专业个人求职信范文
2013/09/25 职场文书
美术专业个人自我评价
2014/01/18 职场文书
售后服务质量承诺书
2015/04/29 职场文书
升学宴学生致辞
2015/07/27 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
浅谈Python 中的复数问题
2021/05/19 Python