在jQuery中按日期排序xml数据

时间:2013-11-18 17:26:33

标签: javascript jquery html xml sorting

我从RSS Feed中获取'date'元素。我在排序和显示信息方面遇到了麻烦。有人可以看看吗?谢谢!

$('#feedContainer').empty();
                        $.ajax({
                        type: 'GET',
                        url: categoryURL,
                        dataType: 'xml',
                        success: function (xml) {
                                var data = [];
                                $(xml).find("item").each(function () {
                                  var dateText = $(this).find("Date").text().substr(0,5);
                                  var title = $(this).find("title").text();
                                  var region = date.substr(6);
                                        if (region.length < 3) { region = "ALL"; }  
                                  var description = $(this).find("description").text();
                                  var descriptdisplay = description.substr(0, description.indexOf(",")+6); //Parsed DATE from description
                                        if (descriptdisplay.length > 35) { descriptdisplay = "See event for details"; }
                                    //var locationdisplay = description.substr(description.indexOf(",")+6,4); //Parsed the location from description
                                  var category = $(this).find("category").text();
                                  var linkUrl = $(this).find("link").text();
                                  var item={ title: $(this).find("title").text(), dateText: $(this).find("Date").text().substr(0,5), date : new Date( dateText) }  
                                  data.push(item);
                                 // var displaytitle = "<a href='" + linkUrl + "' target='_blank'>" + title + "</a>" ;
                                 // $('#feedContainer').append('<h3>'+displaytitle+'</h3><p>'+"Event Date: "+descriptdisplay+'</p><p>'+"Location: "+region+'</p');
                                  data.sort(function(a,b){ return a.date > b.date;});
                                $.each(data, function(index, item) { $('#feedContainer').append('<h3>'+item.title+'</h3><p>'+"Event Date: "+item.dateText+'</p><p>'+"Location: "+item.date+'</p'); });
                            });

                        }
                    });

1 个答案:

答案 0 :(得分:0)

您正在对日期对象进行排序,请尝试对纪元时间戳进行排序:

data.sort(function(a,b){ 
   return a.date.getTime() > b.date.getTime();
});