Код совершенно бессмыслен
1)
userInputArr.push(lists)
почему вы sh все время один и тот же элемент? Поскольку списки относятся к первому и единственному элементу с классом "списки"?
2)
userInputArr.splice(item, 1)
, пожалуйста, внимательно посмотрите, что делает splice? Первый аргумент - число, но вы передаете коллекцию элементов с классом list. Но я даже не предлагаю, какой элемент следует удалить, поскольку он содержит тот же элемент, что я упоминал в первом пункте
3) Вам вообще не нужен этот массив
Так что правильный подход - это что-то вот так
const lists = document.querySelector(".lists");
// just once create listener, no need to do it each time
lists.addEventListener("click", function (e) {
// if you want to remove clicked item then
if (e.target.tagName === 'LI') e.target.remove();
// but if you want to remove the first one then uncomment line
// if (this.children[0]) this.children[0].remove()
});
const userInput = document.querySelector(".add-note");
const addBtn = document.querySelector(".add-btn");
///////////////////////////////////////////////////
// item is meaninglee here, so delete this line
// const item = document.querySelectorAll(".list");
//////////////////////
// array is useless too, delete this line
// userInputArr = [];
function addNote() {
// check if it is number
if (isNaN(userInput.value) || Number(userInput.value < 1)) {
return;
}
lists.insertAdjacentHTML(
"afterbegin",
`<li class='list'>${userInput.value}</li>`
);
userInput.value = "";
}
addBtn.addEventListener("click", function () {
addNote();
});