Javascript 单击按钮时删除列表项
我一直想修改这段代码,以包括一个删除按钮,所以当按钮被点击时,列表项删除,但它没有工作Javascript 单击按钮时删除列表项,javascript,Javascript,我一直想修改这段代码,以包括一个删除按钮,所以当按钮被点击时,列表项删除,但它没有工作 //ORIGINAL CODE// let elList, addLink, newEl, newText, counter, listItems, oldEl, removeLink; elList = document.getElementById('list'); addLink = document.querySelector('a');
//ORIGINAL CODE//
let elList, addLink, newEl, newText, counter, listItems, oldEl, removeLink;
elList = document.getElementById('list');
addLink = document.querySelector('a');
counter = document.getElementById('counter');
oldEl = document.getElementsByTagName('li');
removeLink = document.getElementById('delete');
function addItem(e) {
e.preventDefault();
newEl = document.createElement('li');
newText = document.createTextNode('New list item');
newEl.appendChild(newText);
elList.appendChild(newEl);
}
function updateCount() {
listItems = elList.getElementsByTagName('li').length;
counter.innerHTML = listItems;
}
addLink.addEventListener('click', addItem, false);
elList.addEventListener('DOMNodeInserted', updateCount, false);
//WHAT I TRIED//
function removeItem(){
e.preventDefault();
oldEl.parentNode.removeChild(oldEl);
}
removeLink.addEventListener('click', removeItem, false);
我希望当我点击删除按钮时,其中一个列表项会消失,但它根本不起作用。求你了,我需要一些帮助,因为我已经被困在这里很长时间了
oldEl = document.getElementsByTagName('li');
getElementsByTagName返回节点列表,您不能通过以下操作删除它:
oldEl.parentNode.removeChild(oldEl);
如果要删除oldEl中的所有项目,请执行以下操作:
function removeItems(){
oldEl.forEach((item) => {
item.parentNode.removeChild(item);
});
}
请始终包含所有相关代码(HTML、CSS、JavaScript),以便我们可以复制您的问题并提供有效的解决方案。现在,据我们所知,HTML可能是问题所在,它返回一个节点列表,
oldEl
是您试图使用oldEl.parentNode.removeChild(oldEl)删除的对象
,但节点列表没有.parentNode
,也没有.removeChild()
。如果打开开发人员工具并查看控制台,很可能会在那里看到这些错误。getElementsByTagName返回一个数组