【问题标题】:Removing items with duplicate data attribute [duplicate]删除具有重复数据属性的项目 [重复]
【发布时间】:2014-04-16 15:51:02
【问题描述】:

我有一个这样的 div 列表

<div data-id="001">Blah Blah Blah</div>
<div data-id="001">Blah Blah Blah</div>
<div data-id="002">Blah Blah Blah</div>
<div data-id="002">Blah Blah Blah</div>
<div data-id="002">Blah Blah Blah</div>
<div data-id="003">Blah Blah Blah</div>
<div data-id="003">Blah Blah Blah</div>
<div data-id="004">Blah Blah Blah</div>

是否可以扫描此列表并删除任何具有重复数据的项目,以便我最终得到类似于:

<div data-id="001">Blah Blah Blah</div>
<div data-id="002">Blah Blah Blah</div>
<div data-id="003">Blah Blah Blah</div>
<div data-id="004">Blah Blah Blah</div>

【问题讨论】:

    标签: jquery


    【解决方案1】:

    当您列举所有项目时,请务必跟踪您已经找到的任何项目。

    var found = {};
    $('[data-id]').each(function(){
        var $this = $(this);
        if(found[$this.data('id')]){
             $this.remove();   
        }
        else{
             found[$this.data('id')] = true;   
        }
    });
    

    现场示例:http://jsfiddle.net/kpEtQ/

    【讨论】:

    • 那行得通,谢谢 :D
    【解决方案2】:

    见:JQuery: Remove duplicate elements?

    而不是检查

     $(this).text()
    

    检查

    $(this).attr('data-id')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      • 2022-11-11
      • 2018-04-20
      • 1970-01-01
      • 2020-04-04
      • 2020-07-15
      相关资源
      最近更新 更多