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

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

為什么在刪除列表項(xiàng) [Js DOM] 時(shí),removeChild() 不起作用?

為什么在刪除列表項(xiàng) [Js DOM] 時(shí),removeChild() 不起作用?

牛魔王的故事 2023-10-17 15:52:41
這是一個(gè)購(gòu)物清單,您可以在其中添加一些商品名稱,它將顯示該商品。刪除該項(xiàng)目時(shí),它將刪除該項(xiàng)目。最后,單擊該項(xiàng)目后,它將標(biāo)記為已完成。因此,創(chuàng)建項(xiàng)目和刪除項(xiàng)目工作正常,但單擊它們時(shí)會(huì)出現(xiàn)問(wèn)題。問(wèn)題(切換多個(gè)列表項(xiàng)時(shí)發(fā)生)假設(shè)您添加了 3 個(gè)項(xiàng)目(xxx、yyy、zzz),單獨(dú)單擊它們時(shí),會(huì)將它們切換為完整和不完整。但是 如果您選擇了 xxx、它們 zzz,如果您再次單擊 zzz,則不會(huì)正在工作。而如果點(diǎn)擊xxx,則會(huì)標(biāo)記為不完整。錯(cuò)誤script.js:91 Uncaught DOMException: 無(wú)法在“Node”上執(zhí)行“removeChild”:要?jiǎng)h除的節(jié)點(diǎn)不是此節(jié)點(diǎn)的子節(jié)點(diǎn)。在 HTMLLIElement.toggleItem這是我的代碼。let input = document.querySelector("#item-name");let button = document.querySelector("input[type=button]");let items = document.querySelector(".items");let ul = document.createElement("ul");items.appendChild(ul);function disableFunction() {  button.disabled = false;}function callfun(event) {  if (event.keyCode === 13) {    console.log("Enter is pressed...");    createList();  }}input.addEventListener("input", disableFunction);button.addEventListener("click", createList);input.addEventListener("keypress", callfun);function createList() {  createList();}function createList() {  if (input.value.length) {    let li = document.createElement("li");    li.className = "item";    let val = input.value;    if (val.length > 10) {      li.appendChild(document.createTextNode(val.slice(0, 7) + "..."));    } else {      li.appendChild(document.createTextNode(input.value));    }    let btn = document.createElement("button");    let i = document.createElement("i");    i.className = "fa fa-trash fa-2x";    btn.appendChild(i);    btn.addEventListener("click", deleteItem);    //   '<i class="fa fa-trash " aria-hidden="true"></i>';    //i = document.getElementsByTagName(i);    li.appendChild(btn);    ul.appendChild(li);    input.value = "";    li.addEventListener("click", toggleItem);    console.log("added...");  }}function deleteItem(e) {  //   console.log(e, e.target.parentElement.parentElement)  let item = e.target.parentElement.parentElement;  item.style.display = "none";}
查看完整描述

1 回答

?
ABOUTYOU

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

來(lái)自MDN上的 QuerySelector() 方法:

Document 方法 querySelector() 返回文檔中與指定選擇器或選擇器組匹配的第一個(gè)元素。如果未找到匹配項(xiàng),則返回 null。

所以當(dāng)你寫(xiě):

let?spa?=?document.querySelector(
??`${liItem.tagName.toLowerCase()}?.completed`
??);

您將獲得 DOM 上與您的搜索匹配的第一個(gè)元素。但是您正在尋找 liItem 的子元素,其類別為“completed”。

你想寫(xiě)什么:

let?spa?=?liItem.querySelector(".completed");

額外注意:?.toggle("aClass") 方法在元素沒(méi)有類“aClass”時(shí)添加它,如果元素已經(jīng)有它,則將其刪除。因此您可以采取以下措施

liItem.classList.toggle("toggle");

脫離 if-else 并應(yīng)用它。


查看完整回答
反對(duì) 回復(fù) 2023-10-17
  • 1 回答
  • 0 關(guān)注
  • 189 瀏覽

添加回答

舉報(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)