Получить элемент по классу и убрать все классы у него
Хочу получить по классу элементы и очистить их классы (этот же). Через итерацию, и такая возникла интересная проблема: Ссылка на jsfiddle
По клику на любую кнопку он по сути должен удалять со всех элементов классы, но делает это через одного и вообще непонятно как, только после 3ех нажатий очищаются все.
Пробовал:
function viewDivMag(number) { [].forEach.call(document.getElementsByClassName('chain-shop-adresses'), function(item) { item.className = 'none'; });
ничего не поменялось.
В чем проблема не пойму
Ответы (1 шт):
В чем проблема не пойму
Проблема в том, что getElementsByClassName возвращает "живую" (live) коллекцию. При изменении item.className = 'none'; в коллекции становится меньше элементов.
Используйте document.querySelectorAll или преобразуйте результат document.getElementsByClassName в массив
[...document.getElementsByClassName('chain-shop-adresses')].forEach(...