[英]How to remove Child element of ul on double click?
var button = document.getElementById("enter");
var input = document.getElementById("userinput");
var ul = document.querySelector("ul");
var list=document.querySelectorAll("li")[0];
function inputLength(){
return input.value.length;
}
function createListElement(){
var li=document.createElement("li");
li.appendChild(document.createTextNode(input.value));
ul.appendChild(li);
input.value="";
}
function addListAfterClick(){
if (inputLength()>0){
createListElement();
}
}
function removeList(){
ul.childNode.removeChild();
}
function addListAfterEnter(event){
if(inputLength()>0 && event.keyCode==13){
createListElement();
}
}
button.addEventListener("click", addListAfterClick);
input.addEventListener("keypress", addListAfterEnter);
list.addEventListener("dblclick", removeList);
我正在嘗試創建一個購物清單,當我雙擊任何一個時,我想在其中創建一個 function
我在控制台日志中收到以下錯誤提示:
dom-event.js:26 Uncaught TypeError: 無法在 HTMLLIElement.removeList 中讀取未定義的屬性(讀取“removeChild”)
Element.childNode
不存在於 HTML 個元素上。 但是,您有Element.childNodes
( https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes ),它返回嵌套在給定Element
下的所有元素的集合。
在您的情況下,我建議您為每個li
使用一個事件偵聽器,並在單擊(或雙擊)時將其刪除。
例子:
const l = document.getElementById("dynlist"); const items_data = ["some", "list", "items"]; function onListItemClick(event) { l.removeChild(event.target) } items_data.forEach(lidata => { const li = document.createElement("li"); li.textContent = lidata; li.addEventListener("click", onListItemClick); l.appendChild(li); })
<ul id="dynlist"> </ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.