第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

通過(guò)javascript刪除重復(fù)元素

通過(guò)javascript刪除重復(fù)元素

Go
浮云間 2023-08-21 15:10:16
如何使用js刪除div中重復(fù)的li ?<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>  必須成為:運(yùn)動(dòng)消息汽車
查看完整描述

2 回答

?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

您可以按照以下步驟進(jìn)行操作:

  • 選擇所有元素并創(chuàng)建Set包含所有文本的<li>

  • 然后使用循環(huán)遍歷元素列表forEach

  • 檢查是否Set不包含innerHTML當(dāng)前元素,然后刪除該元素

  • 如果 set 包含文本,則不要?jiǎng)h除該元素,而是刪除其中的文本Set

注意: id of元素在整個(gè)文檔中應(yīng)該是唯一的。兩個(gè)元素不能相同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()

  }

})

<div id="tags">  

  <li>sport</li>

  <li>news</li>  

  <li>sport</li>        

  <li>sport</li>    

  <li>cars</li>

</div>  


查看完整回答
反對(duì) 回復(fù) 2023-08-21
?
慕尼黑的夜晚無(wú)繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用一個(gè)循環(huán)迭代選定的節(jié)點(diǎn)列表,而無(wú)需太多開(kāi)銷,如下所示:


let elements = document.querySelectorAll("li");

textArr = [];

elements.forEach(function(d, i) {

  if(textArr.indexOf(d.innerText) > -1) {

    d.remove();

  }

  else {

    textArr.push(d.innerText);

  }

});

<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>


查看完整回答
反對(duì) 回復(fù) 2023-08-21
  • 2 回答
  • 0 關(guān)注
  • 245 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)