Javascript 按日期对div排序(即div id)
我有结果页面。每个div都有带有事件日期(Ymd)的id。如何按子div事件日期对“results”div中的div进行排序,并在日期小于或等于今天时消除div?这应该很容易做到,但我不太擅长jquery。同时,如果能够改变“今天”的可变时区,那将是非常棒的Javascript 按日期对div排序(即div id),javascript,jquery,sorting,date,Javascript,Jquery,Sorting,Date,我有结果页面。每个div都有带有事件日期(Ymd)的id。如何按子div事件日期对“results”div中的div进行排序,并在日期小于或等于今天时消除div?这应该很容易做到,但我不太擅长jquery。同时,如果能够改变“今天”的可变时区,那将是非常棒的 <div class="results"> <div class="item shadowbox route_entry" id="20150417"> Content </di
<div class="results">
<div class="item shadowbox route_entry" id="20150417">
Content
</div>
<div class="item shadowbox route_entry" id="20150422">
Content
</div>
<div class="item shadowbox route_entry" id="20150424">
Content
</div>
<div class="item shadowbox route_entry" id="20150427">
Content
</div>
<div class="item shadowbox route_entry" id="20150429">
Content
</div>
</div>
内容
内容
内容
内容
内容
谢谢您的帮助:)您可以这样使用
var today = new Date().getTime(),
$result = $('.results > .item').clone(true).filter(function () {
// get date
var date = $(this).attr('id').replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3");
// compare with current date, if <= today return true, and item will be in result, if return false item will be ignored
return new Date(date).getTime() > today;
}).sort(function (a, b) {
return +a.id - +b.id;
});;
$('.results').html($result);
var today=new Date().getTime(),
$result=$('.results>.item')。克隆(true)。筛选(函数(){
//约会
var date=$(this.attr('id').replace(/(\d{4})(\d{2})(\d{2})/,“$1-$2-$3”);
//如果是今天,则与当前日期进行比较;
}).排序(功能(a、b){
返回+a.id-+b.id;
});;
$('.results').html($result);
你可以这样使用
var today = new Date().getTime(),
$result = $('.results > .item').clone(true).filter(function () {
// get date
var date = $(this).attr('id').replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3");
// compare with current date, if <= today return true, and item will be in result, if return false item will be ignored
return new Date(date).getTime() > today;
}).sort(function (a, b) {
return +a.id - +b.id;
});;
$('.results').html($result);
var today=new Date().getTime(),
$result=$('.results>.item')。克隆(true)。筛选(函数(){
//约会
var date=$(this.attr('id').replace(/(\d{4})(\d{2})(\d{2})/,“$1-$2-$3”);
//如果是今天,则与当前日期进行比较;
}).排序(功能(a、b){
返回+a.id-+b.id;
});;
$('.results').html($result);
此片段过滤并排序您的div
//获取格式为YYYYMMDD的日期字符串
变量日期=新日期();
var dateString=date.getFullYear()+(“0”+(date.getMonth()+1)).slice(-2)+(“0”+(date.getDate()).slice(-2);
var$results=$('.results');
var$items=$results.children('.item');
//从结果容器中分离项目
$items.detach();
//筛选日期>今天的项目
$items=$items.filter(函数(i,项){
return item.id>dateString;
});
//按日期对项目排序
$items.sort(函数(a,b){
返回a.id>b.id;
});
//将筛选和排序的项目重新发送回容器
$items.appendTo($results)代码>
20150417
20150422
20150424
20150427
20150425
此片段过滤并排序您的div
//获取格式为YYYYMMDD的日期字符串
变量日期=新日期();
var dateString=date.getFullYear()+(“0”+(date.getMonth()+1)).slice(-2)+(“0”+(date.getDate()).slice(-2);
var$results=$('.results');
var$items=$results.children('.item');
//从结果容器中分离项目
$items.detach();
//筛选日期>今天的项目
$items=$items.filter(函数(i,项){
return item.id>dateString;
});
//按日期对项目排序
$items.sort(函数(a,b){
返回a.id>b.id;
});
//将筛选和排序的项目重新发送回容器
$items.appendTo($results)代码>
20150417
20150422
20150424
20150427
20150425
谢谢@sw\u double,非常好用。如何设置日期变量的时区?我想您最好使用一些时区库。时刻时区或时区js查看此问题了解更多信息,谢谢@sw_double的完美表现。如何设置日期变量的时区?我想您最好使用一些时区库。即时时区或时区js查看此问题了解更多信息它工作:)感谢您的帮助:)它按我的要求工作:)它工作:)谢谢您的帮助:)它按我的要求工作:)