Вход

Просмотр полной версии : Выполнение функции над массивом элементов


Bebarr Swallow
25.06.2012, 02:40
Какой способ наиболее подходящий для такой ситуации:
var a = document.getElementsByClassName("someClass");

Сейчас я использую стандартный "for":
for(var x = 0; x < a.length; x++) {
// code
}

oneguy
25.06.2012, 02:58
Да, это обычно самый лучший способ перечислить элементы в NodeList.

Octane
25.06.2012, 03:59
Только для динамических коллекций лучше запоминать длину в переменную.

Ну и как вариант:
Array.from(document.querySelectorAll(".some-class")).forEach(function (element, index, array) {
...
});

Array.from (http://www.2ality.com/2011/07/array-from.html)

Octane
25.06.2012, 04:14
Array.from
это че?Ссылка в сообщении для кого?!
converts an array-like object to a true array

Правда пока нигде не работает http://kangax.github.com/es5-compat-table/es6/ :D но сделать не сложно.