我有一个事件列表。我想删除任何具有重复名称和日期的事件,但它们可以具有不同的位置。我可以使用此线程中的代码变体成功删除重复项 - JQuery: Remove duplicate elements?但是我想隐藏第一个重复项的位置信息,我似乎无法将其作为目标。到目前为止,这是我的代码......
$('li').each(function() {
var name = $(this).find('.name').text();
var dates = $(this).find('.dates').text();
var nameAndDates = name + dates;
if (seen[nameAndDates]) {
$(this).remove();
}
else {
seen[nameAndDates] = true;
}
});
在那里的某个地方,我需要定位第一个重复的项目并添加一些......
$(this).find('.location').hide();
有什么想法吗?
答案 0 :(得分:0)
计算它们并仅在首次重复时删除
var seen = {};
$('li').each(function() {
var name = $(this).find('.name').text();
var dates = $(this).find('.dates').text();
var nameAndDates = name + dates;
if (nameAndDates in seen && seen[nameAndDates] === 1) {
$(this).find('.location').hide();
}
seen[nameAndDates] = nameAndDates in seen ? seen[nameAndDates] + 1 : 1;
});