【问题标题】:Sorting xml data by date in jQuery在jQuery中按日期对xml数据进行排序
【发布时间】:2013-11-18 17:26:33
【问题描述】:

我从 RSS 提要中获取了一个“日期”元素。我在排序和显示信息时遇到问题。有人可以看看吗?谢谢!

$('#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'); });
                            });

                        }
                    });

【问题讨论】:

    标签: javascript jquery html xml sorting


    【解决方案1】:

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

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

    【讨论】:

    • 好的,我只是试了一下。数据未显示。我需要在其他地方添加任何代码吗?此外,日期元素采用 ddmmyy 格式。这有什么不同吗?
    • 不幸的是,数据仍然没有显示。感谢您帮助解决这个问题,我真的很感激。
    • 当您使用小提琴中的代码时发生了什么,哪里有任何警报?
    • 没有警报。我插入了 rss 提要的 url 并运行了脚本。
    • 我还把脚本拖进了我的源代码并运行了它。没有显示任何内容。
    猜你喜欢
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    相关资源
    最近更新 更多