foreach для массива проходит не по всем элементам
На странице есть несколько элементов клики по которым делают их checked (использую кастомный атрибут data-checked). Повторный клик снимает это состояние. Всё работает хорошо, но нужно сделать функцию которая бы очищала все выделенные элементы и возвращала бы их в исходное состояние. Приделал кнопку, ей приделал функцию, но она не работает. Т.е. когда я нажимаю например на 3-4 метки, и вызываю эту функцию то выделение снимается не со всех. Попробуйте выделить (нажать и сделать серыми) 4 метки, а затем вызвать функцию очистки. выделение снимается лишь с двух. Это какая-то ерунда.
Вот та функция которая делает обход , даже в консоли пишется iteration меньшее количество раз, чем ожидается.
var uncheck_all_cells = function () {
var labels = document.getElementsByClassName("selected_cell");
Array.prototype.forEach.call(labels, function (label) {
uncheck_cell(label);
console.log("iteration");
});
console.log(labels);
};