Почему мои элементы JavaScript для цикла пропускают? [Дубликат]
На этот вопрос уже есть ответ здесь:
getElementsByClassName - Странное поведение 3 ответау меня естьfor
цикл, который проходит через набор элементов, удаляя'selected'
класс от каждого. Тем не менее, он пропускает каждую вторую итерацию. Я обнаружил, что могу обойти это, добавивj--
, что я думаю, хорошо, за исключением удлинения моего кода. Но мне интересно, может кто-нибудь объяснить, почему он пропускает, и, возможно, предложить более краткий способ написания этого кода? (Я все еще изучаю веревки и хочу убедиться, что я понимаю, что происходит.)
var selections = document.getElementsByClassName(name + 'selected');
for (var j = 0; j < selections.length; j++) {
selections[j].classList.remove('selected');
j--; // the fix
}
// where name is a present variable
Спасибо за ваше время!