jQuery:如何定位第一个重复列表项?

时间:2013-12-18 17:56:40

标签: javascript jquery

我有一个事件列表。我想删除任何具有重复名称和日期的事件,但它们可以具有不同的位置。我可以使用此线程中的代码变体成功删除重复项 - 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();

有什么想法吗?

1 个答案:

答案 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;
});