Javascript 使用Jquery按日期排序&;HTML
我正在按日期对一些数据进行排序。数据实际上以HTML格式保存在div-->span下。 然而,我做了下面的函数,但由于某些原因,它不能像我期望的那样正确地处理它们Javascript 使用Jquery按日期排序&;HTML,javascript,jquery,html,Javascript,Jquery,Html,我正在按日期对一些数据进行排序。数据实际上以HTML格式保存在div-->span下。 然而,我做了下面的函数,但由于某些原因,它不能像我期望的那样正确地处理它们 case "Import_Date_asc": var elems = $.makeArray($review_items); elems.sort(function(a, b) { var a_date = $(a).find('.panel-heading .data-source').text(
case "Import_Date_asc":
var elems = $.makeArray($review_items);
elems.sort(function(a, b) {
var a_date = $(a).find('.panel-heading .data-source').text(),
b_date = $(b).find('.panel-heading .data-source').text();
a_date = a_date.split(' / ');
a_date = a_date[1].split(' UTC');
b_date = b_date.split(' / ');
b_date = b_date[1].split(' UTC');
console.log(a_date[0], b_date[0]);
//return new Date(a_date[0]) > new Date(b_date[0]);
return Date.parse(a_date[0]) > Date.parse(b_date[0]);
});
$review_container.html(elems);
break;
case "Import_Date_desc":
var elems = $.makeArray($review_items);
elems.sort(function(a, b) {
var a_date = $(a).find('.panel-heading .data-source').text(),
b_date = $(b).find('.panel-heading .data-source').text();
a_date = a_date.split(' / ');
a_date = a_date[1].split(' UTC');
b_date = b_date.split(' / ');
b_date = b_date[1].split(' UTC');
console.log(a_date[0], b_date[0]);
//return new Date(a_date[0]) < new Date(b_date[0]);
return Date.parse(a_date[0]) < Date.parse(b_date[0]);
});
$review_container.html(elems);
break;
案例“导入日期asc”:
var elems=$.makeArray($review\u items);
元素排序(函数(a,b){
var a_date=$(a).find('.panel heading.data source').text(),
b_date=$(b).find('.panel heading.data source').text();
a_date=a_date.split('/');
a_日期=a_日期[1]。拆分('UTC');
b_date=b_date.split('/');
b_日期=b_日期[1]。拆分('UTC');
日志(a_日期[0],b_日期[0]);
//返回新日期(a_日期[0])>新日期(b_日期[0]);
返回日期.parse(a_日期[0])>Date.parse(b_日期[0]);
});
$review_container.html(elems);
打破
案例“导入日期描述”:
var elems=$.makeArray($review\u items);
元素排序(函数(a,b){
var a_date=$(a).find('.panel heading.data source').text(),
b_date=$(b).find('.panel heading.data source').text();
a_date=a_date.split('/');
a_日期=a_日期[1]。拆分('UTC');
b_date=b_date.split('/');
b_日期=b_日期[1]。拆分('UTC');
日志(a_日期[0],b_日期[0]);
//返回新日期(a_日期[0])<新日期(b_日期[0]);
返回日期.parse(a_日期[0])
html如下所示:
<div class="review-item panel panel-primary" data-ldn="8643" data-pse="43460">
<div class="panel-heading">
<span class="data-title">Dom(i23)</span>
<span class="data-source pull-right">Import / 2017-12-07 14:35 UTC</span>
</div></div>
Dom(i23)
Import/2017-12-07 14:35 UTC
如果您知道我在这里做错了什么,请联系我。似乎解析无法转换您的日期。 但是,我相信使用localCompare会更好
case "Import_Date_asc":
var elems = $.makeArray($review_items);
elems.sort(function(a, b) {
var a_date = $(a).find('.panel-heading .data-source').text(),
b_date = $(b).find('.panel-heading .data-source').text();
a_date = a_date.split(' / ');
a_date = a_date[1].split(' UTC');
a_date = a_date[0];
a_date = a_date.replace('-', '');
a_date = a_date.replace('-', '');
a_date = a_date.replace(' ', '');
a_date = a_date.replace(':', '');
b_date = b_date.split(' / ');
b_date = b_date[1].split(' UTC');
b_date = b_date[0];
b_date = b_date.replace('-', '');
b_date = b_date.replace('-', '');
b_date = b_date.replace(' ', '');
b_date = b_date.replace(':', '');
return a_date.localeCompare(b_date);
});
$review_container.html(elems);
break;
case "Import_Date_desc":
var elems = $.makeArray($review_items);
elems.sort(function(a, b) {
var a_date = $(a).find('.panel-heading .data-source').text(),
b_date = $(b).find('.panel-heading .data-source').text();
a_date = a_date.split(' / ');
a_date = a_date[1].split(' UTC');
a_date = a_date[0];
a_date = a_date.replace('-', '');
a_date = a_date.replace('-', '');
a_date = a_date.replace(' ', '');
a_date = a_date.replace(':', '');
b_date = b_date.split(' / ');
b_date = b_date[1].split(' UTC');
b_date = b_date[0];
b_date = b_date.replace('-', '');
b_date = b_date.replace('-', '');
b_date = b_date.replace(' ', '');
b_date = b_date.replace(':', '');
return a_date.localeCompare(b_date) * -1;
});
$review_container.html(elems);
break;
试试这段代码,我相信它应该能工作。它对我的测试有效。
另外,请查看
[localeCompare()][1]
方法。Yes@DirWolf该代码非常适合我。它解决了这个问题。干得好。!