ul li列表排序
来源:互联网 发布:淘宝情趣用品专卖店 编辑:程序博客网 时间:2024/05/17 02:18
有这样的需求,就是对 li 列表进行排序,刚开始觉得木有什么头绪,就想起以前好像Array.prototype.sort.call可以这样做,可以实现对象的排序,比如
那么对于一个dom列表,怎么做呢。下面有一个JS原生版本的。
DOM结构
<ul class="datalist"> <li class="item"> <span class="item-id">1</span> <span class="item-name">AA_90</span> <span class="item-count">90</span> </li> <li class="item"> <span class="item-id">2</span> <span class="item-name">AA_52</span> <span class="item-count">52</span> </li> <li class="item"> <span class="item-id">3</span> <span class="item-name">AA_57</span> <span class="item-count">57</span> </li> <li class="item"> <span class="item-id">4</span> <span class="item-name">AA_36</span> <span class="item-count">36</span> </li> </ul>
JS代码:
/** * 对list排序 * @param {boolean} flag [正逆序标记] * @param {JQ dom} $domlist [参与排序的列表] * @return {JQ dom} [返回重新排序过的列表] */ var sortDom = function(flag,$domlist){ var $item = $domlist.find('.item'); var $newList = Array.prototype.sort.call($item,function(a,b){ return flag ? ($(a).find('.item-count').html()-0) - ($(b).find('.item-count').html()-0) : ($(b).find('.item-count').html()-0) - ($(a).find('.item-count').html()-0) }); return $newList; }
调用
$('#sort-btn').click(function(){ var $domlist = $('.datalist'); var $result = sortDom(true,$domlist); $('.datalist').html($result); });
效果:
排序前:
排序后:
0 0
- ul li列表排序
- ul li 新闻列表样式
- Css <ul><li>列表的样式的控制</li></ul>
- 无序列表<ul>与列表项目<li>
- javascript 文章列表的拖拽排序,基于ul和li控件
- 如何为Ul li 设置列表项。
- html标签ul li 的列表图片
- JS组装 HTML片段 列表 ul li
- ul li 列表的居中显示
- HTML学习---------1.15 列表标签ul-li
- ul li 排序 移动 非常简单
- jquery ul li 按照时间排序
- ul li
- 列表元素ul ol li dl dt dd释义
- 列表元素ul ol li dl dt dd
- css满屏布局与ul和li列表
- 列表元素ul ol li dl dt dd释义
- 动态生成html的<ul><li>列表项的算法
- Html/javascript动态添加/删除input控件到地址定位置
- CListCtrl类中的数据自动保存到txt或excel中的实现代码。
- git 查看远程仓库
- 关于加载重新js文件
- TelephoneBook-method包-TelephoneMain类
- ul li列表排序
- SQL 循环更新
- android内存检测
- java三大框架的技术起源
- 正则表达式
- iOS编程——Core Animation使用详解。
- bzoj-3527 力
- 数据库设计(9)-ER-to-SQL
- Android4.4 之Bluetooth整理