1

dom が重複した同じ要素を生成するとどうなりますか? 例えば:

    <ul id="listitem">
     <li>item1</li>
    </ul>

    <ul id="listitem">
     <li>item1</li>
    </ul>

    <ul id="listitem">
     <li>item1</li>
    </ul>

...

それでは、そのうちの1つを保持し、余分な2つを削除することは可能ですか?

4

2 に答える 2

7

IDは一意である必要があります。これが外部コードによってレンダリングされ、それを制御できない場合は、すべてのulを繰り返し処理し、重複するulを削除するしかありません。

var duplicateChk = {};

$('ul[id]').each (function () {
    if (duplicateChk.hasOwnProperty(this.id)) {
       $(this).remove();
    } else {
       duplicateChk[this.id] = 'true';
    }
});
于 2012-05-11T21:36:49.690 に答える
3

HTMLのidフィールドは一意である必要があります。複数の要素に適用する必要がある場合は、 aclassがより適切です。

<ul class="listitem">
  <li>item1</li>
</ul>

クラスへの切り替えを行ったと仮定すると、次のコードを使用して最初の出現以外のすべてを削除できます

$('.listitem:gt(0)').remove();

セレクターの:gt(0)部分により、インデックスが 0 より大きい項目 (最初の要素以外のすべて) のみに一致するようになります。

于 2012-05-11T21:40:06.013 に答える