Я создаю список книг, в котором пользователи могут ввести название книги и нажать кнопку чтения, если пользователь прочитал книгу. Это делается путем переключения класса.
Однако после добавления новой книги в список один из других списков книг не может иметь переключение класса.
var readBtn=document.getElementsByClassName(DOMstrings.readButton);
Array.from(readBtn).forEach(function(curr){
curr.addEventListener('click',function(){
curr.classList.toggle('read');
});
})
пользователь должен иметь возможность переключать класс любой книги, добавленной в список, а не только последней добавленной книги
Хорошо, вы находите обработчик кликов для новых элементов, которые вы создаете? Этот код не просто запускается каждый раз, когда вы добавляете элементы....
Когда вы вызываете код, который добавляет слушателей? Если бы вы вызывали этот код каждый раз, когда добавляете новый readButton, прослушиватели событий «накладывались бы» на те, которые были там раньше, и переключались бы дважды, так что, по сути, совсем нет.
@KonstantinDobler Я вызываю слушателя каждый раз, когда пользователь добавляет новую книгу в список
Мне, наконец, удалось решить мою проблему вместо того, чтобы зацикливаться на нодлисте, а не использовать делегирование событий.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


предоставьте минимальный воспроизводимый пример, который показывает проблемы, с которыми вы столкнулись