![](/img/trans.png)
[英]jQuery/Javascript - Sort Parent Divs Based on A number in Child Divs
[英]sort divs based on dates - javascript
我有带有数据属性data-submit-date
div,我想根据此属性的值(日期格式)对它们进行排序。
这是其中一个 div 的代码:
<div class="article" data-submit-date="2017-09-12T05:45:36.951Z">
<h1>aaaaA</h1>
</div>
我的尝试:
$divss = $(".article");
var alphaOrderDivs = $divss.sort(function (a, b) {
return $(a).data("submit-date") > $(b).data("submit-date");
});
$(".articles").html(alphaOrderDivs);
我用Date.parse($(a).data("submit-date"))
替换了这一行$(a).data("submit-date")
Date.parse($(a).data("submit-date"))
但它失败了。 谁能帮我?
预先感谢
尝试以下
var articles = $.makeArray($(".article"));
articles.sort(function(a, b) {
return new Date($(a).data("submit-date")) < new Date($(b).data("submit-date"));
});
片段
var articles = $.makeArray($(".article")); articles.sort(function(a, b) { return new Date($(a).data("submit-date")) < new Date($(b).data("submit-date")); }); console.log(articles);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="article" data-submit-date="2017-09-10T05:45:36.951Z"> <h1>aaaaA</h1> </div> <div class="article" data-submit-date="2017-09-12T05:45:36.951Z"> <h1>aaaaA</h1> </div> <div class="article" data-submit-date="2017-09-11T05:45:36.951Z"> <h1>aaaaA</h1> </div>
使用 getTime() 方法如下:
$divss = $(".article");
var alphaOrderDivs = $divss.sort(function (a, b) {
return new Date($(a).data("submit-date")).getTime() > new Date($(b).data("submit-date")).getTime();
});
$(".articles").html(alphaOrderDivs);
Date 对象的 getTime() 方法会将您的时间解析为毫秒,从而帮助您比较它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.