Javascript 如何使用jqueryeach()获取上一个元素

Javascript 如何使用jqueryeach()获取上一个元素,javascript,jquery,Javascript,Jquery,我知道每个函数在数组上迭代。有没有办法访问像这样的标识(这个[i])?我需要能够比较当前元素的pubDate和前一个元素的pubDate,如果它不同,则输出一个新的pubDate $(data).find('item').each(function(i, value){ var title = $(this).find('title').text().replace(/\w+\s+\(.*?\)/, ""); var link = $(th

我知道每个函数在数组上迭代。有没有办法访问像这样的标识(这个[i])?我需要能够比较当前元素的pubDate和前一个元素的pubDate,如果它不同,则输出一个新的pubDate

    $(data).find('item').each(function(i, value){
            var title = $(this).find('title').text().replace(/\w+\s+\(.*?\)/, "");
            var link = $(this).find('link').text();
            var pubDate = $(this).find('pubDate').text();
            alert(title); 
            alert(link);
            alert(pubDate);
            $('#events').append("<p>" + title + "<br/>" + link + "</p>");

        });
$(数据)。查找('item')。每个(函数(i,值){
var title=$(this).find('title').text().replace(/\w+\s+\(.*?\)/,“”);
var link=$(this.find('link').text();
var pubDate=$(this.find('pubDate').text();
警报(标题);
警报(链接);
警报(发布日期);
$(“#事件”)。追加(“”+标题+”
“+链接+”

”); });
您可以使用此选项进行遍历

比如说

this.parent() 
给你索引


许多可能的方法之一是:

var previous = null;
$(data).find('item').each(function(i, value){
        if (previous) {
            ... do stuff with previous element ...
        }

        var title = $(this).find('title').text().replace(/\w+\s+\(.*?\)/, "");
        var link = $(this).find('link').text();
        var pubDate = $(this).find('pubDate').text();
        alert(title); 
        alert(link);
        alert(pubDate);
        $('#events').append("<p>" + title + "<br/>" + link + "</p>");

        previous = this;
    });
var-previous=null;
$(数据)。查找('item')。每个(函数(i,值){
如果(先前){
…使用上一个元素进行操作。。。
}
var title=$(this).find('title').text().replace(/\w+\s+\(.*?\)/,“”);
var link=$(this.find('link').text();
var pubDate=$(this.find('pubDate').text();
警报(标题);
警报(链接);
警报(发布日期);
$(“#事件”)。追加(“”+标题+”
“+链接+”

”); 先前=此; });

您必须检查previous是否为null,因为第一次迭代将包含null值(第一个元素没有任何previous元素)。

类似的内容如何

var previousDate = $(this).prev().find('pubDate');

由于这对每个人来说都是一件非常特殊的事情,所以我建议将其全部放入
(function(){//code by shanked/}())
中,这将使
前面的
不在代码中任何其他内容的范围之内。
var previousDate = $(this).prev().find('pubDate');