我知道每个函数都在迭代一个数组。有没有办法像([i])那样访问indice?我需要能够将当前元素的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>");
});
答案 0 :(得分:6)
许多潜在的方法之一是:
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;
});
你必须检查previous是否为null,因为第一次迭代将包含一个空值(第一个元素没有任何前一个元素)。
答案 1 :(得分:0)
像
这样的东西var previousDate = $(this).prev().find('pubDate');
答案 2 :(得分:-1)
你可以使用它并遍历
例如
this.parent()
为您提供索引
或
i in your loop