从字符串中排序日期而不使用jQuery或Javascript中的任何“Date”函数

时间:2012-11-23 10:24:14

标签: javascript jquery

如何在不使用任何jQuery“Date”函数或方法的情况下从字符串按日期排序?

让我们说我有这样的事情:

<ul>
    <li class="article"><a href="#" class="">15/02/1966</a></li>
    <li class="article"><a href="#" class="">17/07/2003</a></li>
    <li class="article"><a href="#" class="">11/12/2007</a></li>
    <li class="article"><a href="#" class="">04/07/1951</a></li>
</ul>

如何从最低到最大排序?谢谢!

2 个答案:

答案 0 :(得分:4)

您仍然可以使用按字母顺序排列的对比,您只需要将日期反转为YYYYMMDD

$ul = $("ul"); // or whatever selector you used
$ul.children().sort(function(a, b) {
    var ta = $(a).text().split("/").reverse().join();
    var tb = $(b).text().split("/").reverse().join();
    return (ta>tb) - (tb>ta);
}).appendTo($ul);

答案 1 :(得分:2)

像这样:

<ul>
    <li class="article"><a href="#" class="">04/07/1951</a></li>
    <li class="article"><a href="#" class="">15/02/1966</a></li>
    <li class="article"><a href="#" class="">17/07/2003</a></li>
    <li class="article"><a href="#" class="">11/12/2007</a></li>
</ul>

奖励:甚至不必使用香草JS