Приветствую! Решил написать свой todo list. Задача стоит следующая. Создать список, с чекбоксами, в который будут помещаться какие-либо действия. В планах сделать так, чтобы выполненные задачи удалялись из списка и оставались только активные. Соответственно будет две кнопочки под списком "Активные" и "Выполненные". При нажатии на одну из них происходила бы фильтрация и выводила те или иные задачи из списка. Примерно предполагаю, что понадобится два метода
filter + reduce.
Собственно с первой задачей я справился, почти. Элементы списка добавляются.
input очищается сразу же после нажатия клавиши
enter. Только вот чекбоксы находятся с правой стороны. Как сделать так, чтобы они были слева?
Через
typeof посмотрел, что мои элементы относятся к объекту. Логично, чтобы выполнить вторую часть задачи. Надо эти объекты добавить в массив. Знаю, что надо добавлять их через
push. Но не могу понять, как правильно написать условие, чтобы это сделать. Вот тут мне нужна Ваша помощь.
let input = document.querySelector('#elem');
let ul = document.createElement('ul');
let toDo = [];
document.body.append(ul);
input.addEventListener('change', () => {
let li = document.createElement('li');
let checkBox = document.createElement('input');
checkBox.type = 'checkbox';
checkBox.checked = false;
/* добавляем элементы списка */
li.innerHTML = input.value;
li.appendChild(checkBox);
ul.appendChild(li);
/* Очищаем input */
if (input.value == input.value) {
input.value = '';
}
});