I am creating a simple TodoList for creating and deleting tasks:
let btn= document.getElementById("createButton");
let tasks= [];
//function for creating task. This is working fine
btn.addEventListener('click', function(){
let taskName= document.getElementById("taskName").value;
let startTime= document.getElementById("startTime").value;
let endTime= document.getElementById("endTime").value;
// console.log(taskName, startTime, endTime);
let currTask= {
name: taskName,
start: startTime,
end: endTime
}
tasks.unshift(currTask);
let createdTask= document.createElement('div');
createdTask.id= taskName;
createdTask.classList.add("mrg-auto");
createdTask.innerHTML= `
<p>Task name: ${taskName}</p>
<p>Start time: ${startTime}</p>
<p>End time: ${endTime}</p>
<input type="submit" class="deleteButton" value="Delete">`;
document.getElementsByTagName("main")[0].append(createdTask);
// console.log(tasks.length);
})
//code from here does not work. This is the code for deletion
var del= document.getElementsByClassName("deleteButton");
for(let i=0;i<del.length;i++){
del[i].addEventListener('click', function(){
for(var j=0;j<tasks.length;j++){
if(tasks[j].name==del[i].id){
tasks.splice(j, 1);
console.log("hello");
break;
}
}
});
}
I am not able to delete task from array using class name and splice function. Where am I going wrong?
[<>]thanks.