我知道 each 函数迭代一个数组。有没有办法访问像 (this[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>");
});
最佳答案
许多可能的方法之一是:
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,因为第一次迭代将包含 null 值(第一个元素没有任何 previous 元素)。
关于javascript - 如何使用 jquery each() 获取前一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452117/