如何解决根据span元素内的日期对div排序
| 我有4个div,我想根据span标签中的日期动态订购。我希望它从最新到最旧出现。使用JQuery实现此目标的最佳方法是什么?<div class=\"mydivs\">Some description goes here <span>05/03/09</span></div>
<div class=\"mydivs\">Some description goes here <span>01/15/11</span></div>
<div class=\"mydivs\">Some description goes here <span>12/25/07</span></div>
<div class=\"mydivs\">Some description goes here <span>09/25/11</span></div>
解决方法
请在此处查看以下示例→
var amd = [],tDate,tElem;
$(\'.mydivs\').each(function(i,elem) {
var aDate = $(this).children(\'span\').text().split(\'/\');
$(this).data(\'date\',aDate[2] + aDate[1] + aDate[0]);
});
amd = $(\'.mydivs\').map(function() {
return $(this).data(\'date\');
}).get();
amd.sort();
while (amd.length) {
tDate = amd.pop();
tElem = $(\'.mydivs\').filter(function() {
return $(this).data(\'date\') == tDate;
}).detach();
$(\'#wrapper\').append(tElem);
}
那很有趣!
,有一个很棒的插件,可以使用jQuery对元素进行排序。
或者,您也可以手工完成。手动执行此操作将涉及以下内容:
var toSort = new Array();
$(\'div.mydivs\').each(function (divIndex,divElement) {
toSort[$(divElement).first(\'span\').text()] = $(divElement.html());
});
这样,您将拥有所有div的哈希表,并且可以对键进行排序,删除原始div并以正确的顺序重新添加它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。