gpt4 book ai didi

jquery - 如何在 中按内容日期对 div 进行排序

转载 作者:行者123 更新时间:2023-12-01 01:37:47 27 4
gpt4 key购买 nike

我正在尝试在页面加载时按跨度上的内容日期对 div 进行排序...我所得到的是排序。但不是按日期。

这是我的代码片段:

function sortDescending(a, b) {
var date1 = $(a).find("span").text();
date1 = date1.split('/');
date1 = new Date(date1[2], date1[1] - 1, date1[0]);
var date2 = $(b).find("span").text();
date2 = date2.split('/');
date2 = new Date(date2[2], date2[1] - 1, date2[0]);

return date1 < date2 ? 1 : -1;
};
$(document).ready(function() {
$('#container .element').sort(sortDescending).appendTo('#container');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container">

<div class="element">
<p class="title">TEST 03</p>
<span>01/2010</span>
</div>

<div class="element">
<p class="title">TEST 01</p>
<span>01/2012</span>
</div>

<div class="element">
<p class="title">TEST 04</p>
<span>01/2009</span>
</div>

<div class="element">
<p class="title">TEST 02</p>
<span>01/2011</span>
</div>

</div>

我知道我需要一个函数来确定内容是日期。就是不知道怎么办...

最佳答案

<span>文本似乎只有 mm/yyyy 格式,而您的日期构造函数期望结果数组中有 3 个元素。

date1 = date1.split('/'); // -> [ "01", "2009" ]
date1 = new Date(
date1[2] /* undefined */,
date1[1] -1 /* year */ ,
date1[0] /* month */
);

您需要稍微更改 Date 构造函数:

date1 = new Date(date1[1], date1[0] -1, 1); 

关于jquery - 如何在 <span> 中按内容日期对 div 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9065521/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com