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

Javascript найти элемент?

Я только начинаю учить JS поэтому прошу совета!
Есть такой код
codepen.io/Kirsanov/pen/gLrjVE
это todo лист. подскажите как при клике на созданный элемент добавить ему свойство display: none.
у меня трудность в том что я не могу в цикле перебрать элементы созданные javascrip - ом и как то ими манипулировать!
  • Вопрос задан
  • 191 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
Вы просто вешаете обработчики события на элементы до того, как они создаются, т.е. у вас сначала выполняется
var todoItem = document.querySelectorAll('.todo_item'); 
[].forEach.call(todoItem, function (item) {
    item.addEventListener ....
    ....

А сами то элементы с классом .todo_item создаются только после нажатия кнопки. Соответственно вам нужно добавлять обработчик события click к каждому элементу класса .todo_item в момент его создания.

P.S.: хорошей практикой считается не менять CSS свойства из скриптов (в вашем случае display: none), а делать CSS классы и добавлять их к элементу или удалять (например сделать класс .hide { display: none; } и его добавлять к элементам).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dzenn
@dzenn
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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