无法在jQuery中对日期排序
我一直试图在jQuery中按升序/降序对日期进行排序,但没有成功。你知道哪里出了问题吗?这是我的密码: 相关HTML:无法在jQuery中对日期排序,jquery,Jquery,我一直试图在jQuery中按升序/降序对日期进行排序,但没有成功。你知道哪里出了问题吗?这是我的密码: 相关HTML: <input class="btn" type="button" value="Sort Ascending" id="sortAsc"/> <input class="btn" type="button" value="Sort Descending" id="sortDesc"/> <div id="wrapper"> <
<input class="btn" type="button" value="Sort Ascending" id="sortAsc"/>
<input class="btn" type="button" value="Sort Descending" id="sortDesc"/>
<div id="wrapper">
<ul>
<li class='item'><div id='activity_date'>01/10/2012</div>
<div id='activity_box'>
<div id='activity_text' class='windowClass2'>...text here...</div>
</div></li><li class='item'><div id='activity_date'>04/10/2012</div>
<div id='activity_box'>
<div id='activity_text' class='windowClass2'>...text here...</div>
</div></li><li class='item'><div id='activity_date'>10/10/2012</div>
<div id='activity_box'>
<div id='activity_text' class='windowClass2'>...text here...</div>
</div></li><li class='item'><div id='activity_date'>16/10/2012</div>
<div id='activity_box'>
<div id='activity_text' class='windowClass2'>...text here...</div>
</div></li>
</ul>
</div>
- 2012年10月1日
…文本在此。。。
- 2012年10月4日
…文本在此。。。
- 2012年10月10日
…文本在此。。。
- 16/10/2012
…文本在此。。。
该代码有几个问题
id
值
若要修复此问题,请改用类值,或a,或任何允许在页面上出现多次的其他内容sort
。jQuery。它可能有一个未记录的,但如果是这样,你不知道它做什么。假设它将重新排列DOM元素肯定是没有意义的
要修复它,您必须为此编写自己的函数(这并不复杂),或者找到一个插件来为您执行此操作sort
有效,您传递到newdate(string)
中的日期字符串的格式也是20/10/2012
,17/10/2012
,诸如此类。这不是一种文档化的新日期(字符串)
格式。唯一的字符串格式是的简化形式,看起来不是这样的。事实上,新日期(“20/10/2012”)
在Chrome和其他浏览器上都失败了
要解决这个问题,你需要用另一种方式来确定日期。您可以将自历元值起的毫秒存储为,然后直接使用它。或者您可以自己解析日期字符串。如果它们总是采用那种dd/mm/yyyy
格式,那么将各个部分解析为数字是很简单的,然后您可以将生成的年、月和日的数字传递到中。(请记住,月份从0
=一月开始。)
要解决此问题,请不要这样做。:-)
一个HTML在这里,是的,ID在那里复制。在这种情况下,使用CSS类来标记项目就可以了。您能给我举一个关于jQuery的例子吗?@methuselah似乎仍然不起作用:您更新的小提琴仍然在多个位置使用相同的
id
值。我再清楚不过了:您不能在多个地方拥有相同的id
值,它根本不起作用。@t.J.Crowder仍然没有运气>。有什么我遗漏的吗?@methuselah:好吧,你在调用jQuery实例的sort
,它不是数组,jQuery没有记录sort
函数。所以这是个问题。(可能有一个未文档化的函数——不要使用未文档化的函数。)更重要的是,您的fiddle没有加载jQuery,这从一开始就是一个问题。因此,A)加载库,B)仅使用其文档化的功能,特别是,请注意jQuery不提供重新排序元素的排序函数。始终在问题本身中发布相关代码和标记,而不仅仅是链接。叹气好的,我已经为您完成了。但是在前面的278个问题之后,真的,你应该自己做这件事。
<input class="btn" type="button" value="Sort Ascending" id="sortAsc"/>
<input class="btn" type="button" value="Sort Descending" id="sortDesc"/>
<div id="wrapper">
<ul>
<li class='item'><div id='activity_date'>01/10/2012</div>
<div id='activity_box'>
<div id='activity_text' class='windowClass2'>...text here...</div>
</div></li><li class='item'><div id='activity_date'>04/10/2012</div>
<div id='activity_box'>
<div id='activity_text' class='windowClass2'>...text here...</div>
</div></li><li class='item'><div id='activity_date'>10/10/2012</div>
<div id='activity_box'>
<div id='activity_text' class='windowClass2'>...text here...</div>
</div></li><li class='item'><div id='activity_date'>16/10/2012</div>
<div id='activity_box'>
<div id='activity_text' class='windowClass2'>...text here...</div>
</div></li>
</ul>
</div>