如果dom生成重复的相同元素怎么办?例如:
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
<ul id="listitem">
<li>item1</li>
</ul>
...
那么这可以保留其中一个并删除额外的两个吗?
答案 0 :(得分:7)
ID应该是唯一的,如果这是由外部代码呈现并且您无法控制它,那么您唯一的选择是迭代所有ul并删除重复的ul。
var duplicateChk = {};
$('ul[id]').each (function () {
if (duplicateChk.hasOwnProperty(this.id)) {
$(this).remove();
} else {
duplicateChk[this.id] = 'true';
}
});
答案 1 :(得分:3)
HTML中的id
字段必须是唯一的。如果您遇到应该应用于多个元素的情况,那么class
更合适。
<ul class="listitem">
<li>item1</li>
</ul>
假设您切换到了课程,那么您可以使用以下代码删除除第一次出现之外的所有内容
$('.listitem:gt(0)').remove();
选择器的:gt(0)
部分将使其仅匹配索引大于0的项(除第一个元素之外的所有内容)