如果 dom 生成重复的相同元素怎么办?例如:
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
...
那么这是否可以保留其中一个并删除额外的两个?
如果 dom 生成重复的相同元素怎么办?例如:
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
...
那么这是否可以保留其中一个并删除额外的两个?
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 的项目(除第一个元素外的所有项目)