Показать сообщение отдельно
  #1 (permalink)  
Старый 02.04.2014, 22:38
Новичок на форуме
Отправить личное сообщение для a798129 Посмотреть профиль Найти все сообщения от a798129
 
Регистрация: 02.04.2014
Сообщений: 2

Проблема с getElementsByClassName
Здравствуйте!
Нужно найти все элементы на странице, у которых есть класс "cssClass"
и удалить у них этот класс.
По аналогии с getElementsByTagName, должно работать так:
var items = document.getElementsByClassName('cssClass');
for(var i=0; i< items.length; i++){
    items[i].classList.remove('cssClass');
}

Однако, похоже на то, что после каждой итерации заново вычисляется переменная items, и соответственно, вызывается getElementsByClassName.
Т.е. вот этот код решает поставленную задачу:
var items = document.getElementsByClassName('cssClass');
var len = items.length;
for(var i=0; i< len; i++){
    items[0].classList.remove('cssClass');
}

Но хотелось бы узнать почему так. Объясните пожалуйста почему первый вариант не работает?

Последний раз редактировалось a798129, 02.04.2014 в 22:43.
Ответить с цитированием