Задать вопрос
@FIain

Почему последняя ветка else не срабатывает?

Пытаюсь создать небольшое todo приложение. Есть условие, если изначально у нас нет UL тега в документе, то при добавлении задачи он создается и задача добавляется в него, иначе просто добавляем в уже созданный UL задачи, но почему-то как раз это условие не работает. В чем ошибка?

const taskInput = document.querySelector(".input");
const addBtn = document.querySelector(".form__add-task");
const body = document.querySelector("body");
const form = document.querySelector(".form");

addBtn.addEventListener("click", addTask);

function addTask(element) {
    element.preventDefault();

    const taskText = taskInput.value;
    const task = `<li>${taskText}</li>`;
    const todolist = document.createElement("ul");
    
    if (!taskText) {
        alert("Ошибка ввода");
        return;
    } else {
        if (!document.querySelector(".todo-list")) {
            todolist.className = "todo-list";
            todolist.insertAdjacentHTML("beforeend", task);
            form.after(todolist);
        } else {
            todolist.insertAdjacentHTML("beforeend", task);
        }
    }
}
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Asokr
функция addTask каждый раз создаёт новый ul
Нужно поместить const todolist = document.createElement("ul"); в условие, и после else обращаться по классу
document.querySelector(".todo-list").insertAdjacentHTML("beforeend", task);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы