San*_*mar 10 javascript sorting jquery datetime
我不擅长jquery所以我想知道是否有一种方法或插件我可以用它来排序日期div.我在YYYY有约会:MM:DD HH:MM:SS格式.我在div中显示日期,如下所示.Div是无序格式,我想先在最新日期对它们进行排序.
<div id="dateDiv">2012-04-15 10:25:45</div>
<div id="dateDiv">2012-04-10 19:41:08</div>
<div id="dateDiv">2012-04-20 07:00:10</div>
<div id="dateDiv">2012-04-12 16:45:50</div>
Run Code Online (Sandbox Code Playgroud)
谢谢
Par*_*kar 18
我对插件了解不多......虽然如果你想要一个没有插件的轻量级方法,你可以试试这个:
HTML:
<div id="D">
<div class="dateDiv">2012-04-15 10:25:45</div>
<div class="dateDiv">2012-04-10 19:41:08</div>
<div class="dateDiv">2012-04-20 07:00:10</div>
<div class="dateDiv">2012-04-12 16:45:50</div>
</div>
Run Code Online (Sandbox Code Playgroud)
对于js:
var elems = $.makeArray($(".dateDiv"));
elems.sort(function(a, b) {
return new Date( $(a).text() ) < new Date( $(b).text() );
});
$("#D").html(elems);
Run Code Online (Sandbox Code Playgroud)
更新:
感谢CMS回答有关解析日期的问题:为什么Date.parse会给出错误的结果?
function parseDate(input) {
var parts = input.match(/(\d+)/g);
// new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]])
return new Date(parts[0], parts[1]-1, parts[2], parts[3], parts[4], parts[5]); // months are 0-based
}
var elems = $.makeArray($(".dateDiv"));
elems.sort(function(a, b) {
console.log( parseDate( $(a).text() ) );
return parseDate( $(a).text() ) < parseDate( $(b).text() );
});
$("#D").html(elems);?
Run Code Online (Sandbox Code Playgroud)
现在,不要告诉我这不起作用......呵呵
$('#dateDiv').sortElements(function(a, b){
return Date.parse($(a).text()) > Date.parse($(b).text()) ? 1 : -1;
});
Run Code Online (Sandbox Code Playgroud)
原来的回购尚未被维持,但它的一个更新的叉子似乎正在这里.