Javascript 如何使用jqueryeach()获取上一个元素
我知道每个函数在数组上迭代。有没有办法访问像这样的标识(这个[i])?我需要能够比较当前元素的pubDate和前一个元素的pubDate,如果它不同,则输出一个新的pubDateJavascript 如何使用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
$(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');