1

我有一个像这样的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>
4

2 回答 2

13

当然,当您枚举所有项目时,只需跟踪您已经找到的任何项目。

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/

于 2013-06-28T07:47:41.430 回答
2

请参阅:JQuery:删除重复元素?

而不是检查

 $(this).text()

查看

$(this).attr('data-id')
于 2013-06-28T07:47:11.140 回答