dom が重複した同じ要素を生成するとどうなりますか? 例えば:
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
...
それでは、そのうちの1つを保持し、余分な2つを削除することは可能ですか?
dom が重複した同じ要素を生成するとどうなりますか? 例えば:
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
...
それでは、そのうちの1つを保持し、余分な2つを削除することは可能ですか?
IDは一意である必要があります。これが外部コードによってレンダリングされ、それを制御できない場合は、すべてのulを繰り返し処理し、重複するulを削除するしかありません。
var duplicateChk = {};
$('ul[id]').each (function () {
if (duplicateChk.hasOwnProperty(this.id)) {
$(this).remove();
} else {
duplicateChk[this.id] = 'true';
}
});
HTMLのid
フィールドは一意である必要があります。複数の要素に適用する必要がある場合は、 aclass
がより適切です。
<ul class="listitem">
<li>item1</li>
</ul>
クラスへの切り替えを行ったと仮定すると、次のコードを使用して最初の出現以外のすべてを削除できます
$('.listitem:gt(0)').remove();
セレクターの:gt(0)
部分により、インデックスが 0 より大きい項目 (最初の要素以外のすべて) のみに一致するようになります。