Fox*_*den 3 html javascript frontend dom
如何删除重复的李在的div使用JS?
<div id="tags">
<li id="tag">sport</li>
<li id="tag">news</li>
<li id="tag">sport</li>
<li id="tag">sport</li>
<li id="tag">cars</li>
</div>
Run Code Online (Sandbox Code Playgroud)
必须变成:
您可以按以下步骤执行此操作:
Set包含所有文本的<li>forEachSet不包含innerHTML当前元素,然后删除该元素Set注意: id of 元素在整个文档中应该是唯一的。两个元素不能相同id
const tags = [...document.querySelectorAll('#tags > li')];
const texts = new Set(tags.map(x => x.innerHTML));
tags.forEach(tag => {
if(texts.has(tag.innerHTML)){
texts.delete(tag.innerHTML);
}
else{
tag.remove()
}
})Run Code Online (Sandbox Code Playgroud)
<div id="tags">
<li>sport</li>
<li>news</li>
<li>sport</li>
<li>sport</li>
<li>cars</li>
</div> Run Code Online (Sandbox Code Playgroud)