首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Javascript待办事项列表应用程序。我无法删除最后剩余的li并清除全部按钮不起作用,只有本地存储被删除

JavaScript待办事项列表应用程序是一种基于JavaScript编写的应用程序,用于管理待办事项列表。该应用程序允许用户添加、编辑和删除待办事项,并且可以使用本地存储来保存用户的待办事项。

在这个问题中,你遇到了两个问题:无法删除最后剩余的li和清除全部按钮不起作用。下面是解决这两个问题的建议:

  1. 无法删除最后剩余的li:
    • 确保你的删除操作是正确的,可以通过监听删除按钮的点击事件来执行删除操作。
    • 确保你的删除操作是针对正确的li元素,可以通过给每个li元素添加一个唯一的标识符(如id)来区分它们。
    • 确保你的删除操作是在正确的作用域内进行的,可以使用事件委托的方式将删除操作绑定到父元素上,以确保新添加的li元素也能够被删除。
  • 清除全部按钮不起作用:
    • 确保你的清除全部按钮的点击事件被正确地绑定。
    • 确保你的清除全部按钮的点击事件中包含了清除所有li元素的逻辑。
    • 确保你的清除全部按钮的点击事件中也包含了清除本地存储的逻辑,以确保待办事项列表在下次加载时不会再显示已删除的事项。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供可扩展的云服务器实例,适用于各种应用场景。详情请参考:https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的云端存储服务,适用于存储和处理大规模非结构化数据。详情请参考:https://cloud.tencent.com/product/cos
  • 腾讯云云数据库MySQL版(TencentDB for MySQL):提供高性能、可扩展的云数据库服务,适用于各种规模的应用。详情请参考:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。详情请参考:https://cloud.tencent.com/product/ai

请注意,以上推荐的腾讯云产品仅供参考,你可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【译】用纯JavaScript写一个简单MVC App

这对于当前model已经足够了。最后,我们将待办事项存储在local storage中,使其成为永久性文件,但目前,待办事项只要刷新页面就可以刷新了。...那将会: 应用程序根元素 - #root 标题 - h1 一个表单,输入框和提交按钮去添加事项 - form,input,button 待办列表 - ul 将使它们成为构造函数中所有变量,以便我们可以轻松地引用它们...// View displayTodos(todos) { // ... } displayTodos方法将创建待办事项列表所组成ul和li显示它们。...每次更改,添加,或者删除待办事项时,都会使用模型中待办事项todos,再次调用displayTodos方法,重置列表显示它们。这将使得视图和模型状态保持同步。...现在,我们可以将初始化待办事项设置为本地存储或空数组中值。

2K10

用纯 JavaScript 撸一个 MVC 框架

希望它可以帮你理解 MVC,因为当你刚开始接触它时,它是一个难以理解概念。 做了这个todo应用程序,这是一个简单小巧浏览器应用,允许你对待办事项进行CRUD(创建,读取,更新和删除)操作。...接着在构造函数中,将为视图设置需要所有东西: 应用程序根元素 - #root 标题 h1 一个表单,输入框和提交按钮,用于添加待办事项 - form, input, button 待办事项清单...//视图 displayTodos(todos) { // ... } displayTodos 方法将创建待办事项列表所包含 ul 和 li 显示它们。...现在我们可以将待办事项初始值设置为本地存储或空数组。...编辑总是比添加或删除更棘手。想简化它,不需要编辑按钮或用input或任何东西替换span。我们也不想每输入一个字母时都调用editTodo,因为它会重新渲染整个待办事项列表UI。

3.3K41
  • 如何使用 HTML、CSS 和 Vanilla JavaScript 以及本地存储创建待办事项应用程序

    互联网建立在与数据交互基础上:从用户获取数据、存储数据、更新和删除数据。待办事项应用程序是练习这些基本技能最佳工具。...在本教程中,我们将介绍如何使用 HTML、CSS 和 JavaScript 创建功能齐全待办事项应用程序。...liElement然后我们从 DOM 中删除最后,我们获取 li 元素 data 属性值并将其存储在名为 变量中taskId。...在这个函数中,我们想要执行与删除按钮相同步骤:即: 获取所有编辑按钮 使用forEach()方法迭代获取最接近li元素 获取 data-id 属性 allTasks使用 id 在数组中查找任务...即使关闭浏览器后,存储在浏览器中数据仍然存在。只有清除缓存后,它才会被删除。 将此功能添加到我们项目中将允许添加数据即使在刷新或关闭页面后也能保留。

    12810

    「jQuery」基础 - 03

    案例:发布微博案例 点击发布按钮, 动态创建一个小li,放入文本框内容和删除按钮, 并且添加到ul 中。 点击删除按钮,可以删除当前微博留言。 <!...1.7.5 案例:toDoList 删除操作 点击里面的a链接,不是删除li,而是删除本地存储对应数据。...核心原理:先获取本地存储数据,删除对应数据,保存给本地存储,重新渲染列表li 我们可以给链接自定义属性记录当前索引号 根据这个索引号删除相关数据----数组splice(i, 1)方法 存储修改后数据...,然后存储本地存储 重新渲染加载数据列表 因为a是动态创建,我们使用on方法绑定事件 1.7.6 案例:toDoList 正在进行和已完成选项操作 当我们点击了小复选框,修改本地存储数据,再重新渲染数据列表..., 则是待办事项,就把列表渲染加载到 ol 里面 1.7.7 案例:toDoList 统计正在进行个数和已经完成个数 在我们load 函数里面操作 声明2个变量 :todoCount 待办个数 doneCount

    2.8K30

    前端成神之路-03_jQuery

    案例:发布微博案例 1.点击发布按钮, 动态创建一个小li,放入文本框内容和删除按钮, 并且添加到ul 中。 2.点击删除按钮,可以删除当前微博留言。 ​ 代码实现略。...文本框里面输入内容,按下回车,就可以生成待办事项。 // 2. 点击待办事项复选框,就可以把当前数据添加到已完成事项里面。 // 3. 点击已完成事项复选框,就可以把当前数据添加到待办事项里面。...1.7.5 案例:toDoList 删除操作 // 1.点击里面的a链接,不是删除li,而是删除本地存储对应数据。...// 2.核心原理:先获取本地存储数据,删除对应数据,保存给本地存储,重新渲染列表li // 3.我们可以给链接自定义属性记录当前索引号 // 4.根据这个索引号删除相关数据----数组splice...// 1.当我们点击了小复选框,修改本地存储数据,再重新渲染数据列表

    3K20

    成为一名高级 React 需要具备哪些习惯,他们都习以为常

    假设你已经知道React基础知识,因此不会涉及“不要改变道具或状态”这样陷阱。 坏习惯 本节中每个标题都是你应该避免坏习惯! 将使用一个典型待办事项列表应用程序示例来说明一些观点。...你可以尝试编写同步两个state 代码,但这是一个容易出错地方,而不是解决方案。 这是一个在我们待办事项列表应用程序上下文中重复状态例子。...完成待办事项存储在状态中两次,所以如果用户编辑待办事项文本内容,你只调用setTodos, completedTodos现在包含旧文本,这是不正确! 有一些方法可以去复制你状态。...在我们待办事项列表应用程序上下文中,你肯定应该使用一个reducer来管理待办事项数组,无论是通过useReducer还是Redux。...想象一下,在一个待办事项列表应用程序中,“X”按钮删除待办事项时是不可见,直到你将鼠标悬停在该待办事项上。有些设计师喜欢这样“整洁”,但这需要用户四处搜寻,弄清楚如何执行基本操作。

    4.7K40

    【译】使用Enzyme和React Testing Library测试React Hooks

    我们想要测试四点: 1、组件渲染 2、渲染时初始待办事项展示 3、我们可以创建一个新待办事项然后返回三个待办事项 4、我们可以删除一个初始待办事项并且只留下一个 在你src目录中,创建一个名为...tests 文件夹,创建一个文件,你可以在其中编写待办事项组件测试。...2、用户点击提交按钮。 3、我们获得一共三个待办事项,其中第三个是新创建。...我们使用断言,在进一步模拟单击事件之前,输入“修复失败测试”,该事件应该将新项目添加到待办事项列表中。 最后,断言列表中有三个项,并且第三个项与我们创建项相等。...因为我们只想删除一个项目,所以我们对集合中第一个项目触发一个click事件,它应该删除第一个待办事项。这应该使待办事项子节点长度等于1。 这些测试也可以在GitHub上找到。

    4.1K30

    使用HTML和CSS编写无JavaScriptTodo应用

    更大范围地实现显示或隐藏功能 现在我们有办法存储状态了,每个待办事项都有三个复选框来存储状态: 该item是否创建 该item是否标记已完成 该item是否被删除 可能会给你一个线索如何应用程序将工作...没有JavaScript,我们无法修改DOM。 这意味着所有的todo item都必须是初始页HTML一部分。 如果您查看页面的源码,您会发现它已经包含50个预渲染待办事项。...以下是应用部分html截图 image.png 个人待办事项如下所示: image.png 我们来看看如何实现删除功能。...首先我们有一个复选框来存储删除状态: 需要一个删除按钮...在顶部输入完毕时,在底部添加todos 将最后一个未完成item目移动到列表顶部,其位置为:absolute,显示“添加”按钮。 计算未完成item条数 CSS有一个可爱功能,称为计数器。

    2.9K20

    使用HTML和CSS编写无JavaScriptTodo应用

    更大范围地实现显示或隐藏功能 现在我们有办法存储状态了,每个待办事项都有三个复选框来存储状态: 该item是否创建 该item是否标记已完成 该item是否被删除 可能会给你一个线索如何应用程序将工作...没有JavaScript,我们无法修改DOM。 这意味着所有的todo item都必须是初始页HTML一部分。 如果您查看页面的源码,您会发现它已经包含50个预渲染待办事项。...以下是应用部分html截图 ? 个人待办事项如下所示: ? 我们来看看如何实现删除功能。...首先我们有一个复选框来存储删除状态: 需要一个删除按钮...在顶部输入完毕时,在底部添加todos 将最后一个未完成item目移动到列表顶部,其位置为:absolute,显示“添加”按钮。 计算未完成item条数 CSS有一个可爱功能,称为计数器。

    3.7K70

    toDoList案例分析

    文本框里面输入内容,按下回车,就可以生成待办事项。 2. 点击待办事项复选框,就可以把当前数据添加到已完成事项里面。 3. 点击已完成事项复选框,就可以把当前数据添加到待办事项里面。 4....4.每次渲染之前,先把原先里面 ol 内容清空,然后渲染加载最新数据。 1.5 案例:toDoList 删除操作 1.点击里面的a链接,不是删除li,而是删除本地存储对应数据。...2.核心原理:先获取本地存储数据,删除对应数据,保存给本地存储,重新渲染列表li 3.我们可以给链接自定义属性记录当前索引号 4.根据这个索引号删除相关数据----数组splice(i, 1...done 为false, 则是待办事项,就把列表渲染加载到 ol 里面 1.7 案例:toDoList 统计正在进行个数和已经完成个数 1.在我们load 函数里面操作 2.声明2个变量 :todoCount...待办个数 doneCount 已完成个数 3.当进行遍历本地存储数据时候, 如果 数据done为 false, 则 todoCount++, 否则 doneCount++ 4.最后修改相应元素

    1.3K30

    一杯茶时间,上手 React 框架开发

    表单 接下来我们来完成增加新待办事项功能第二个步骤:允许用户将新输入待办事项加入到 todoList 列表中。...列表加上新输入 nowTodo,最后是使用 this.setState 更新 todoList 和 nowTodo;这样我们就可以通过输入内容添加新待办事项了。...注意 我们在 handleSubmit 方法里面使用 this.setState 更新状态时,将 nowTodo 设置为了空字符串,代表我们在加入新待办事项之后,将清除现有输入 nowTodo 待办事项内容...保存代码,打开浏览器,在输入框里面输入点东西,你应该可以看到下面的内容: 当你点击提交按钮之后,新待办事项会加入到现有的 todoList 列表中,你应该可以看到下面的内容: 恭喜你!...这样涉及到 React 受控组件[15]知识。•允许对单个事项进行删除。这涉及到子组件修改父组件状态[16]知识。•允许用户对单个事项进行修改。•允许用户对待办事项进行搜索。

    2.9K30

    nicegui:Python 图形界面库,简单好用

    接下来,定义了一个名为 todo_ui 界面函数,使用 @ui.refreshable 装饰器标记为可刷新界面函数。todo_ui 函数用于渲染待办事项列表界面。...接着,使用 ui.row 创建一个行布局容器,并在容器中添加两个标签,分别显示已完成任务数量和剩余任务数量。通过遍历待办事项列表每个事项,计算已完成任务数量和剩余任务数量,显示在标签中。...最后,使用 ui.row 和 ui.button 创建一个行布局和一个删除按钮,用于删除待办事项。...通过设置按钮 on_click 参数来指定点击按钮时调用回调函数,使用 lambda 表达式传递待办事项对象作为参数。使用 props 方法设置按钮样式和图标。...最后,调用 ui.run 启动 nicegui 应用程序事件循环,显示界面等待用户交互。

    2.5K30

    使用纯Python构建Web应用

    htmx (由 Github Copilot 生成) htmx 是一个 JavaScript 库,它允许您使用 HTML 扩展现有的 Web 应用程序,而无需编写任何 JavaScript。...,以及待办列表删除按钮都会触发重新渲染待办列表,于是封装了一个 render_todos 函数,用于渲染待办列表 HTML 片段。...其中每一个待办项都是一个 li 元素,包含一个 span 元素和一个删除按钮。...删除按钮点击事件由 htmx 处理,当用户点击删除按钮时,htmx 会向服务器发送一个 DELETE 请求,服务器将待办项从数据库中删除,然后返回一个待办列表 HTML 片段,htmx 将其插入到...后端接口 整体比较简单,只有三个接口,分别用于获取待办列表、添加新待办项和删除待办项。 与常规 restful 接口不同是,这里接口都返回 HTML 片段,而不是 JSON 数据。

    29330

    本地存储应用案例 ToDoList

    1、案例介绍 文本框里面输入内容,按下回车,就可以生成待办事项。 点击待办事项复选框,就可以把当前数据添加到已完成事项里面。...,不是删除li,而是删除本地存储对应数据。...核心原理:先获取本地存储数据,删除对应数据,保存给本地存储,重新渲染列表li 我们可以给链接自定义属性记录当前索引号 根据这个索引号删除相关数据----数组splice(i, 1)方法...删除数据 存储修改后数据,然后存储本地存储 重新渲染加载数据列表 因为a是动态创建,我们使用on方法绑定事件 // 3.toDoList 删除操作    $("ol")..., 则是待办事项,就把列表渲染加载到 ol 里面                // 给链接自定义属性记录当前索引号 id                $("ol").prepend("<li

    2.4K20

    200行纯前端Vue代码!教你写一个专属TodoList【零基础友好】

    ListFooter.vue组件: 负责展示已完成和所有待办事项总数及删除所有已完成状态 item 功能 4. Vue 代码实现 (1)....this.checkAllTodo(value) } } }, methods:{ //回调父组件App提供删除所有已完成待办事项方法...-- 给每条item删除按钮绑定click点击事件,通知App组件中将对应todo进行删除操作 --> <button class="btn btn-danger" @click="...例如: 这里<em>的</em> Todo <em>列表</em>数据, 因为 ListHeader.vue 组件会通过输入新增<em>待办</em><em>事项</em>来改变 Todo <em>列表</em>数据。...AllList.vue 组件需要展示所有<em>待办</em><em>事项</em>, 也用到了 Todo <em>列表</em>数据, 因此这份数据应该放在这两个组件所属<em>的</em>父组件 App.vue 里。 3). 组件间交互使用绑定事件来实现。

    1.2K10

    15 个初学者 JavaScript 项目来提高你前端技能!

    在这种情况下,该函数生成随机十六进制颜色使其成为背景颜色。了解这一点非常有用,因为几乎每个现代 Web 应用程序都使用按钮有一种感觉,这是一种我会反复使用技巧。...还学习了一个简单算法,负责在用户每次单击按钮时生成一个随机报价。 3. 图片轮播 需要一个应用程序来显示您所有的精美图片吗?...8.待办事项清单 让我们使用这款出色待办事项列表应用程序充分利用我们一天。...总的来说,我会说这更像是一个审查项目,但它仍然是一个很好实践。 9. 抽认卡,电子提问便利贴(带本地存储) 这是一个允许您创建抽认卡应用程序,因此请收起那些纸质抽认卡,因为镇上有一位新老板。...它可以帮助学生学习避免他们花钱购买纸质抽认卡。这是我们使用 flexbox 列表第一个项目,因此一开始并没有什么挑战性。然而,一旦掌握了它,它实际上非常易于使用,并且使项目更具活力。

    1.8K20

    如何在Ubuntu 14.04上使用Sandstorm安全地运行流星应用程序

    用户将知道应用程序开发人员无法读取他们数据。本教程适用于这两种方案。 准备 要学习本教程,您需要: 本地计算机,用于构建Sandstorm包。...如果您没有其他要使用应用程序,本教程将显示使用Meteor提供示例待办事项列表应用程序步骤。...exit 对于此Todo应用程序,该页面仍包含登录和注销按钮,这些按钮不是必需。接下来,我们将删除它们。...nano simple-todos.js 像以前一样,删除以红色突出显示以下行,然后保存关闭文件。确保不要删除最后大括号。 . . ....您可以通过单击左上角Sandstorm徽标离开此待办事项列表。完成后,您将看到可以创建另一个Todo列表。您输入到一个Todo列表实例中任何数据都完全独立于其他数据。

    1.5K30

    Vuex 4 指南,使用 Vue3 需要看看!

    抽象中最容易理解该缺陷:当应用程序中有多个共享数据组件时,它们互连复杂性将增加到无法预测或理解数据状态地步。 因此,该应用程序无法扩展或维护。 Flux 是一个模式,不是一个库。...不过现在不要担心这个问题,我们关注于理解它所遵循关键原则。 原则1:单一来源 组件可能具有仅需要了解本地数据。 例如,滚动条在用户列表组件中位置可能与其他组件无关。...但是,我们可以在一个简单待办应用程序中演示其功能。...完成后效果如下所示: 现在,删除 HelloWorld 文件: rm src/components/HelloWorld.vue TodoNew.vue 现在,添加一个新组件 TodoNew,它负责创建新待办事项...由于它和TodoNew组件都需要访问相同数据,因此这是我们在 Vuex 存储中保存全局state 理想选择。 现在,回到state定义属性状态。

    1.5K10
    领券