-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
57 lines (46 loc) · 1.41 KB
/
script.js
File metadata and controls
57 lines (46 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// DOM Elements
const taskInput = document.getElementById("task-input");
const addTaskBtn = document.getElementById("add-task-btn");
const taskList = document.getElementById("task-list");
// Add Task
const addTask = () => {
const taskText = taskInput.value.trim();
if (!taskText) {
alert("Please enter the task!");
return;
}
// Create Task Item
const taskItem = document.createElement("li");
taskItem.className = "task-item";
// Add Task Text
const taskSpan = document.createElement("span");
taskSpan.textContent = taskText;
taskSpan.addEventListener("click", toggleTaskCompletion);
// Add Delete Button
const deleteBtn = document.createElement("button");
deleteBtn.textContent = "Delete";
deleteBtn.addEventListener("click", () => deleteTask(taskItem));
// Append Elements
taskItem.appendChild(taskSpan);
taskItem.appendChild(deleteBtn);
taskList.appendChild(taskItem);
// Clear Input
taskInput.value = "";
};
// Toggle Task Completion
const toggleTaskCompletion = (event) => {
const taskItem = event.target.parentElement;
taskItem.classList.toggle("completed");
};
// Delete Task
const deleteTask = (taskItem) => {
taskList.removeChild(taskItem);
};
// Event Listener for Add Button
addTaskBtn.addEventListener("click", addTask);
// Optional: Add "Enter" Key Support
taskInput.addEventListener("keypress", (event) => {
if (event.key === "Enter") {
addTask();
}
});