Всем привет!
Прошу оценить код, проверки проходят, но мне кажется его можно “улучшить”
let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
У меня вот так, не проходило проверку пока не понял что надпись на кнопке важности тоже надо менять ХД
Спойлер !
`let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
Доброго времени суток!
Оцените, пожалуйста. Ручное тестирование проходит, автоматическое по нулям…
let list = document.querySelector('.todo-list');
let input = document.querySelector('.todo-input');
let form = document.querySelector('.todo-form');
let priority = document.querySelector('.todo-priority');
let flag = true; // = new Boolean();
priority.onclick = function () {
priority.classList.toggle('is-important');
if (priority.classList.contains('is-important')) {
priority.textContent = 'Важная задача';
flag = true;
} else {
priority.textContent = 'Обычная задача';
flag = false;
}
};
form.onsubmit = function (evt) {
evt.preventDefault();
//создаем новый элемент списка - новая задача
let newTask = document.createElement('li');
//Записываем в список текст из формы
newTask.innerHTML = input.value;
// вставить newTask в конец <ol> - переменная list
list.append(newTask);
//Добавим класс is-important элементу списка
if (flag==true) {
newTask.classList.add('is-important');
};
//Записываем данные из поля ввода в текстовое содержимое переменной input
input.textContent = input.value;
//Очищаем поле ввода
input.value = '';
//Проверяем, что у нас там добавилось
// console.log(list.textContent); //Элементы списка текстом
console.log(list); //Элементы списка в формате тегов HTML
console.log(flag);
};
Спасибо, разобралась… Лишнее удалила и порядок строк поменяла. Автоматический тест пройден! ))
let list = document.querySelector('.todo-list');
let input = document.querySelector('.todo-input');
let form = document.querySelector('.todo-form');
let priority = document.querySelector('.todo-priority');
let flag = true; // = new Boolean();
priority.onclick = function () {
priority.classList.toggle('is-important');
if (priority.classList.contains('is-important')) {
priority.textContent = 'Важная задача';
flag = true;
} else {
priority.textContent = 'Обычная задача';
flag = false;
}
};
form.onsubmit = function (evt) {
evt.preventDefault();
//создаем новый элемент списка - новая задача
let newTask = document.createElement('li');
//Добавим класс is-important элементу списка
if (flag==true) {
newTask.classList.add('is-important');
};
//Записываем в список текст из формы
newTask.textContent = input.value;
//Очищаем поле ввода
input.value = '';
// вставить newTask в конец <ol> - переменная list
list.append(newTask);
//Проверяем, что у нас там добавилось
console.log(list); //Элементы списка в формате тегов HTML
console.log(flag);
};
Здравствуйте!
Не работает вот такой код. На ручном тестировании все срабатывает, на автоматическом - по нулям.
Что с ним не так?
let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
Всем привет! Проблема - новая задача добавляется только один раз, потом перезаписывает предыдущую. То-ли лыжи не едут, то-ли… со мной что-то не так=(
Посмотрите мой код:
let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
/задать переменную для элемента новой задачи/
let newZad = document.createElement(‘li’);
form.onsubmit = function (evt) {
evt.preventDefault();
/Условная констр.: проверяет наличие класса .is-important у кнопки, если есть , то добавляет его же новому элементу li, если нет - то дальше/
if (priority.classList.contains(‘is-important’)) {
newZad.classList.add(‘is-important’);
} else {
newZad.classList.remove(‘is-important’);
}
/он субмит добавляет элемент li новой задачи в список .todo-list (переменная list)/
list.append(newZad);
/добавляет value поля ввода в кач textcontent нового элемента/
newZad.textContent = input.value;
/очистить поле ввода/
input.value = ‘’;
Добрый день. Автоматическая проверка пишет, что мой результат 100%, но все 4 теста провалены) Причем на образце и на результате идентичная картина! Скажите, что не так?
let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
Добрый вечер!
Делюсь своим кодом, может кому-нибудь поможет:slight_smile:
let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
priority.onclick = function () {
priority.classList.toggle(‘is-important’);
if (priority.classList.contains(‘is-important’)) {
priority.textContent = ‘Важная задача’;
} else {
priority.textContent = 'Обычная задача';
}
};
form.onsubmit = function (evt) {
evt.preventDefault();
let task=document.createElement(‘li’);
list.append(task);
task.textContent=input.value;
input.value=’’;
не могу понять в чем загвоздка ни как не работает код.
let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
Добрый вечер. Подскажите , пожалуйста, почему
с таким условием проходит тест:
if (priority.classList.contains(‘is-important’)) {
newList.classList.add(‘is-important’)
} else {
newList.classList.remove(‘is-important’)
}
А с таким нет:
if (priority.classList.contains(‘is-important’)) {
newList.classList.add(‘is-important’)
} else {
newList.classList.add(‘todo-list’)
}
И в чем существенное отличие. В остальном все идентично.
Подскажите, пожалуйста, почему не проходит автоматический тест, вроде на картинках все аналогично, вручную тоже не вижу проблем
let list = document.querySelector(’.todo-list’);
let input = document.querySelector(’.todo-input’);
let form = document.querySelector(’.todo-form’);
let priority = document.querySelector(’.todo-priority’);
Имеем такую, судя по всему, кривую конструкцию обработчика (но я художник, мне так виднее :D):
form.onsubmit = function (evt) {
evt.preventDefault();
let valuev = document.createElement(‘li’); //// Объявил валуева и научил толкать новый li в
if (priority.classList.contains(‘is-important’)) { ///////// Если в класс-листе приоритета есть ‘is-important’
valuev.classList.add(‘is-important’); //////// до задаю валуеву этот класс
} else {//////// в противном случае
valuev.classList.add(‘li’);//////// валуев появляется с обычным HTML ‘li’ без класса.
}
valuev.textContent = input.value; //// закидываю в текст валуева значение инпут
list.append(valuev); ////добавляю в переменную list получившегося валуева в конце списка
console.log(valuev); /// Выводим в консоль получившихся валуевых
///// На момент проверка убрал опустошение строки
};
Не хочу брать рабочий код других ребят, принципиально хочется разобраться в этом.
Визуальное отображение новых строк верно, по логам тоже видно, что когда обычный приоритет, когда важный, всё работает.
Рано я сюда обратился, нужно было изучить логику других пользователей.
В общем, тут ошибка
} else {//////// в противном случае
valuev.classList.add(‘li’);//////// валуев появляется с обычным HTML ‘li’ без класса.
}
Я создавал валуева с классом ли:
Нужно было не задавать никакой класс, HTMLElement рисуется “li” без класса.
Для проверки на 100% в консоли должно в двух случаях быть:
Если приоритет “Важный”:
Если приоритет обычный, то класса не должно быть:
А у меня как раз таки при обычном приоритете был класс li:
Всем спасибо за внимание!
Надеюсь мой случай кому-то даст подсказку)