Javascript 仅删除元素的一个子元素,如何使用特定按钮删除子元素?
在本例中,我希望使用特定的移除按钮移除子级。但是当我运行这段代码时,它将只删除我在输入中插入的一个活动Javascript 仅删除元素的一个子元素,如何使用特定按钮删除子元素?,javascript,Javascript,在本例中,我希望使用特定的移除按钮移除子级。但是当我运行这段代码时,它将只删除我在输入中插入的一个活动 function addItemTodo(text){ list = document.getElementById("todo"); item = document.createElement('li'); item.innerText = text; trash = document.createElement('button'); trash.
function addItemTodo(text){
list = document.getElementById("todo");
item = document.createElement('li');
item.innerText = text;
trash = document.createElement('button');
trash.classList.add('btn1');
trash.addEventListener("click", removeActivity);
icon_trash = document.createElement('i');
icon_trash.classList.add('fas','fa-trash-alt','fa-2x');
check = document.createElement('button');
check.classList.add('btn2');
icon_check = document.createElement('i');
icon_check.classList.add('fas','fa-check','fa-2x');
item.appendChild(trash);
trash.appendChild(icon_trash);
item.appendChild(check);
check.appendChild(icon_check);
list.appendChild(item);
}
//if user click on the button, remove the activity from the list of Activity
function removeActivity(){
list.removeChild(item);
console.log("item removed!");
}
将函数removeActivity()更改为以下代码
function removeActivity(){
var listItems = document.getElementsByTagName("li");
for (var i = 0; i < listItems.length; i++) {
listItems[i].onclick = function() {
this.parentNode.removeChild(this);
}
}
}
函数移除活动(){
var listItems=document.getElementsByTagName(“li”);
对于(变量i=0;i
我不想删除所有子项。我想删除单击了特定按钮的子项。请向我显示此错误。未捕获的DomeException:未能在“节点”上执行“removeChild”:要删除的节点不是此节点的子节点。位于HTMLButtonElement.removeActivity(),如果dom树中不存在该节点,则通常会发生此情况。您能否确认该节点是否确实存在于dom中?