首先,我们需要一个HTML页面来展示我们的待办事项列表。在标签内,我们可以放置一个输入框用于添加新任务,一个按钮用于提交新任务,以及一个用于显示任务的列表。
- html>
- <html>
- <head>
- <title>To-Do List Apptitle>
- <style>
- .completed {
- text-decoration: line-through;
- }
- style>
- head>
- <body>
- <h1>To-Do Listh1>
- <input type="text" id="newTask" placeholder="Add a new task">
- <button id="addTask">Add Taskbutton>
- <ul id="taskList">
-
- ul>
- <script src="app.js">script>
- body>
- html>
然后,我们在一个名为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 = '';
- }
- });
document.getElementById()方法来获取HTML页面中元素的引用,这样我们就可以在JavaScript中操作这些元素了。元素,并将其添加到任务列表中。同时,它还创建了一个“Delete”按钮,用于删除任务。completed类,从而改变文本的样式(通过CSS中的text-decoration: line-through;)。“Delete”按钮也有一个点击事件监听器,当它被点击时,它会从其父元素(即任务列表)中移除相应的任务列表项。
这个待办事项列表应用程序展示了如何使用JavaScript来操作DOM、处理用户输入和事件,以及实现基本的应用程序逻辑。虽然这个例子相对简单,但它涵盖了很多在构建更复杂的Web应用程序时会用到的基本概念和技术。通过学习和实践这些技术,你可以逐渐掌握如何使用JavaScript来创建功能丰富、交互性强的Web应用程序。