при загрузке страницы вы пытаетесь найти кнопку, которая еще не существует, потому что вы ее создаете, когда нажимается «кнопка добавления»
решение состоит в том, чтобы переместить часть, где вы находитесь выбрав кнопку, чтобы добавить к ней событие
document.querySelector(".listBtn").addEventListener("click", function () {
let elem = document.getElementById("myUL");
console.log(elem);
elem.parentNode.removeChild(elem);
});
в ваш для l oop
for (let i = 0; i < todo.length; i++) {
let textNode = document.createTextNode(todo[i]);
let listItem = document.createElement("li");
listItem.appendChild(textNode);
list.appendChild(listItem);
listBtn = document.createElement("button");
let button_text = document.createTextNode("remove");
listBtn.appendChild(button_text);
list.appendChild(listBtn);
listBtn.className = "listBtn";
document.querySelector(".listBtn").addEventListener("click", function () {
let elem = document.getElementById("myUL");
console.log(elem);
elem.parentNode.removeChild(elem);
});
}
Я немного изменил ваш код, надеюсь, это поможет
let todo = [];
let completed = [];
//ADD ITEM TO DOM
//When mouse clicked, create list item and add to DOM
document.getElementById("addBtn").addEventListener("click", function () {
let list = document.getElementById("myUL");
list.innerHTML = ""; //resetting the list
let input = document.getElementById("input").value;
if (input) {
todo.push(input);
} else {
alert("Please add a task!");
}
//add close button to nodelist
document.getElementById("input").value = "";
for (let i = 0; i < todo.length; i++) {
let textNode = document.createTextNode(todo[i]);
let listItem = document.createElement("li");
listItem.appendChild(textNode);
list.appendChild(listItem);
let listBtn = document.createElement("button");
let button_text = document.createTextNode("remove");
listBtn.appendChild(button_text);
list.appendChild(listBtn);
listBtn.className = "listBtn";
document.querySelector(".listBtn").addEventListener("click", function () {
let elem = document.getElementById("myUL");
console.log(elem);
elem.parentNode.removeChild(elem);
});
}
});
input.addEventListener("keypress", function (event) {
// Number 13 is the "Enter" key on the keyboard
if (event.keyCode === 13) {
// Trigger the button element with a click
document.getElementById("addBtn").click();
}
});
<input type="text" id="input" placeholder="Write here" />
<button id="addBtn">Add item</button>
<ul id="myUL"></ul>