Вы можете преобразовать его в массив, используя slice
метод из Array
прототипа:
var elList = document.querySelectorAll('.viewcount');
elList = Array.prototype.slice.call(elList, 0);
Кроме того, если все, что вам нужно forEach
, вы можете вызвать это из Array
прототипа, не принуждая его сначала к массиву:
var elList = document.querySelectorAll('.viewcount');
Array.prototype.forEach.call(elList, function(el) {
console.log(el);
});
В ES6 вы можете использовать новую Array.from
функцию для преобразования его в массив:
Array.from(elList).forEach(function(el) {
console.log(el);
});
В настоящее время это есть только в современных браузерах, но если вы используете службу полифиллов, у вас будет доступ к этой функции во всех направлениях.
Если вы используете транспилятор ES6 , вы можете даже использовать for..of
вместо него цикл:
for (var element of document.querySelectorAll('.some .elements')) {
}