我有多个元素,例如
<div class="state">
<div class="second-column col-xs-5">
<p class="subtitle-compliance">Date</p>
<p class="data-retrieve">16 Apr 2020 02:06 PM CST</p>
</div>
</div>
<div class="state">
<div class="second-column col-xs-5">
<p class="subtitle-compliance">Date</p>
<p class="data-retrieve">17 Apr 2020 02:06 PM CST</p>
</div>
</div>我不知道我会在任何时候有多少,但我需要在HTML中订购。
我试过这样分类:
var divList = []
$('.state').each(function() {
var element = $(this);
divList.push(element);
});
divList.sort(function(a,b) {
a1 = $(a).find('.second-column .data-retrieve').text()
b1 = $(b).find('.second-column .data-retrieve').text()
if(a1 > b1) return 1;
if(a1 < b1) return -1;
return 0;
});现在看来这对我没什么用。
发布于 2020-04-17 21:13:04
使用Date对象从日期字符串转换为日期,然后比较Date.getTime()
$("#sorted").html($('.state').clone().sort(function(a, b) {
return new Date($(a).find(".data-retrieve").text()).getTime() - new Date($(b).find(".data-retrieve").text()).getTime() > 0 ? 1 : -1;
}))<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<b>Original:</b>
<div class="state">
<div class="second-column col-xs-5">
<p class="subtitle-compliance">Date</p>
<p class="data-retrieve">16 Apr 2020 02:06 PM CST</p>
</div>
</div>
<div class="state">
<div class="second-column col-xs-5">
<p class="subtitle-compliance">Date</p>
<p class="data-retrieve">15 Apr 2020 02:06 PM CST</p>
</div>
</div>
<div class="state">
<div class="second-column col-xs-5">
<p class="subtitle-compliance">Date</p>
<p class="data-retrieve">11 Apr 2020 02:06 PM CST</p>
</div>
</div>
<div class="state">
<div class="second-column col-xs-5">
<p class="subtitle-compliance">Date</p>
<p class="data-retrieve">17 Apr 2020 02:06 PM CST</p>
</div>
</div>
<hr/>
<b>Sorted:</b>
<div id="sorted"></div>
https://stackoverflow.com/questions/61280666
复制相似问题