Удаление классов в цикле - неожиданный результат
<div> <ul> <li class='test'>первый</li> <li class='test'>второй</li> <li class='test'>третий</li> <li class='test'>четвертый</li> <li class='test'>пятый</li> <li class='test'>шестой</li> <li class='test'>седьмой</li> </ul> </div> let bounceInElements = document.getElementsByClassName('test'); const bounceInElementsLength = bounceInElements.length; console.log('length: '+bounceInElementsLength) for(let i=0; i<bounceInElementsLength;i++){ bounceInElements[i].classList.remove('test') console.log('i: '+i) console.log(bounceInElements[i]) } Хочу удалить несколько классов в цикле. Результат неожиданный - удаляются только классы в нечетных индексах. Такое чувство, будто прогулял какую-то важную лекцию по js :blink: 1) Почему так? 2) как удалить все найденные классы? пример в кодепен: https://codepen.io/Aleksandr_/pen/VwevoVR?editors=1011 |
getElementsByClassName - это живая коллекция элементов
после удаления класса изменяется сама коллекция попробуйте let bounceInElements = document.querySelectorAll('.test'); |
Цитата:
Спасибо за подсказку.:thanks: |
Часовой пояс GMT +3, время: 04:12. |