我已经设法弄清楚如何在 jQuery 中对日期进行排序,但我注意到某些日期没有正确排序,并且当按下其中一个按钮时会有一点跳跃。我该如何解决这个问题?我已经在http://jsfiddle.net/Erah9/1/上发布了我的代码。到目前为止,这是我的代码:
HTML
<div style="padding-top: 20px;">
<input class="btn" type="button" value="Oldest First" id="sortAsc"/>
<input class="btn" type="button" value="Newest First" id="sortDesc"/>
</div>
<div id="wrapper" style="padding-top: 20px">
<ul>
<li class='item'><div class='activity_date'>01/10/2012</div>
<div class='activity_box'>
<div class='activity_text' id='act'>Allocated request</div>
</div></li><li class='item'><div class='activity_date'>03/10/2012</div>
<div class='activity_box'>
<div class='activity_text' id='act'>Failed request</div>
</div></li><li class='item'><div class='activity_date'>08/10/2012</div>
<!----------------
SEE JS FIDDLE FOR MORE OF THIS
----------------->
</li>
</ul>
</div>
JS
$(function(){
var itemsArray = $('li.item');
itemsArray.sort(function(a,b){
var aTime = new Date($(a).find('.activity_date').text()).getTime();
var bTime = new Date($(b).find('.activity_date').text()).getTime();
return aTime - bTime;
});
$('#sortAsc').click(function(){
$("#wrapper").empty();
$(itemsArray).each(function(){
$("#wrapper").prepend($(this));
});
});
$('#sortDesc').click(function(){
$("#wrapper").empty();
$(itemsArray).each(function(){
$("#wrapper").append($(this));
});
});
});
非常感谢!提前</p>