Вы можете преобразовать его в массив, используя 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')) {
}