javascript - 使用 Javascript 进行待办事项列表 : can't delete item

标签 javascript html dom removechild

我在执行待办事项列表项目时使用js代码制作了删除项目按钮。

删除之前在代码编辑器中创建的项目效果很好。 *因此在浏览器预览中,我输入了“新待办事项”并将其添加到列表中。* 但删除“新待办事项”项目不起作用。即使 chrome Devtool 也没有显示错误。新项目的标签和类名都是正确的。

p.s:无需担心“X”或 X 图标。我跳过了上传。

[HTML]

<ul id="listUl">
    <li>Meet George <span class="remove"></span></li>
    <li>Pay Bills <span class="remove"></span></li>
    <li>new To-do <span class="remove"></span></li>
</ul>

[JS] - 删除部分。

var remove = document.getElementsByClassName('remove');

for (var i = 0; i < remove.length; i++) {
    remove[i].onclick = function() {
        var target = document.getElementById('listUl');
        target.removeChild(this.parentElement);
    }
}

最佳答案

这是因为您添加的每个新项目都没有任何监听器 (remove[i].onclick = function(){...})。因此,当您单击它们时,不会发生任何事情。您需要为每个新项目添加 onClick 监听器,就像您为初始项目所做的那样。

关于javascript - 使用 Javascript 进行待办事项列表 : can't delete item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58713071/

相关文章:

jquery - 在 A jQUERY li grab 上获取 UL 数据值

javascript - querySelectorAll() 匹配除 div 之外的所有 h1

javascript - 如何判断什么是直接操作 DOM 中的样式

javascript - 无法将十进制 html 特殊字符分配给 dom 值

javascript - 使用 polyfill 或 shim 让 HTML5 沙箱适用于 IE8/9

javascript - 使用 easeljs/canvas/javascript 围绕它的中心旋转图像,同时图像保持在起始位置

html - 将侧边栏拉伸(stretch)到页面的全高

html - body 重叠固定,水平导航栏在顶部 - CSS/HTML

javascript - 如何去除绘图面积图的背景线

javascript - <ul> 和 <li> 标签的默认边距和填充