首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于日期和时间的排序元素

基于日期和时间的排序元素
EN

Stack Overflow用户
提问于 2017-06-10 00:57:26
回答 1查看 67关注 0票数 0

我有一个包含元素创建日期和时间的属性的元素列表。

代码语言:javascript
运行
复制
<ul>
   <li data-clock="6/9/2017, 6:53:56 PM"></li>
   <li data-clock="5/8/2017, 5:33:56 PM"></li>
   <li data-clock="6/7/2017, 4:13:56 PM"></li>
</ul>

单击<button>时,如何对以最老元素开头的元素进行排序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-10 01:25:54

您需要选择所有的li元素,使用.sort()函数对它们进行排序,使用一个使用getAttribute('data-clock')获取值的自定义函数,并使用(new Date(b.getAttribute('data-clock'))).getTime()来比较日期:

代码语言:javascript
运行
复制
$ul.find('li.unsorted').sort(function(a, b) {
   return (new Date(a.getAttribute('data-clock'))).getTime() > (new Date(b.getAttribute('data-clock')).getTime()) ? -1 : 1;
})

演示:

代码语言:javascript
运行
复制
var $ul = $('ul');
$("#sorter").click(function() {
  $ul.find('li.unsorted').sort(function(a, b) {
      return (new Date(a.getAttribute('data-clock'))).getTime() > (new Date(b.getAttribute('data-clock')).getTime()) ? -1 : 1;
    })
    .appendTo($ul);
});
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="sorter">Sort</button>
<ul>
  <li class="unsorted" data-clock="6/9/2017, 6:53:56 PM">6/9/2017, 6:53:56 PM</li>
  <li class="unsorted" data-clock="5/8/2017, 5:33:56 PM">5/8/2017, 5:33:56 PM</li>
  <li class="unsorted" data-clock="6/7/2017, 4:13:56 PM">6/7/2017, 4:13:56 PM</li>
</ul>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44468485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档