此程序将允许用户添加新任务,标记任务为完成,以及删除任务。

HTML结构

首先,我们需要一个HTML页面来展示我们的待办事项列表。在标签内,我们可以放置一个输入框用于添加新任务,一个按钮用于提交新任务,以及一个用于显示任务的列表。

To-Do List App.completed {text-decoration: line-through;}

To-Do List

    JavaScript实现

    然后,我们在一个名为app.js的外部JavaScript文件中编写我们的程序逻辑。

    // 获取HTML元素引用const newTaskInput = document.getElementById('newTask');const addTaskButton = document.getElementById('addTask');const taskList = document.getElementById('taskList');// 添加新任务的功能addTaskButton.addEventListener('click', function() {// 获取输入框中的文本const taskText = newTaskInput.value.trim();// 检查是否有文本输入if (taskText) {// 创建新的列表项const listItem = document.createElement('li');listItem.textContent = taskText;// 添加完成任务的功能listItem.addEventListener('click', function() {listItem.classList.toggle('completed');});// 添加删除任务的功能const deleteButton = document.createElement('button');deleteButton.textContent = 'Delete';deleteButton.addEventListener('click', function() {taskList.removeChild(listItem);});listItem.appendChild(deleteButton);taskList.appendChild(listItem);// 清空输入框newTaskInput.value = '';}});

    代码解释

    1. 获取HTML元素引用
      我们使用document.getElementById()方法来获取HTML页面中元素的引用,这样我们就可以在JavaScript中操作这些元素了。
    2. 添加新任务
      我们给“Add Task”按钮添加了一个点击事件监听器。当按钮被点击时,它会执行一个匿名函数。这个函数首先获取输入框中的文本,然后检查是否有文本输入。如果有,它就创建一个新的
    3. 元素,并将其添加到任务列表中。同时,它还创建了一个“Delete”按钮,用于删除任务。
    4. 完成任务和删除任务
      我们还给每个任务列表项添加了一个点击事件监听器。当列表项被点击时,它会切换completed类,从而改变文本的样式(通过CSS中的text-decoration: line-through;)。“Delete”按钮也有一个点击事件监听器,当它被点击时,它会从其父元素(即任务列表)中移除相应的任务列表项。

    总结

    这个待办事项列表应用程序展示了如何使用JavaScript来操作DOM、处理用户输入和事件,以及实现基本的应用程序逻辑。虽然这个例子相对简单,但它涵盖了很多在构建更复杂的Web应用程序时会用到的基本概念和技术。通过学习和实践这些技术,你可以逐渐掌握如何使用JavaScript来创建功能丰富、交互性强的Web应用程序。