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 に答える