利用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 相关文章推荐
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
Dec 21 Javascript
自己编写的类似JS的trim方法
Oct 09 Javascript
jQuery固定浮动侧边栏实现思路及代码
Sep 28 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
Mar 11 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
详解vue组件通信的三种方式
Jun 30 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 Javascript
jQuery 改变P标签文本值方法
Feb 24 jQuery
ES6 中可以提升幸福度的小功能
Aug 06 Javascript
微信小程序 WXML节点信息查询详解
Jul 29 Javascript
如何实现js拖拽效果及原理解析
May 08 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代码审计比较有意思的例子
2014/05/07 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
2017/05/17 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
python批量同步web服务器代码核心程序
2014/09/01 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
windows下python安装小白入门教程
2018/09/18 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
python实现斗地主分牌洗牌
2020/06/22 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
医学专业大学生求职的自我评价
2013/11/27 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
清洁员岗位职责
2015/02/15 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python
Vue实现下拉加载更多
2021/05/09 Vue.js
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle