Puede usar Array.frompara convertir la colección en matriz, que es mucho más limpia que Array.prototype.forEach.call:
Array.from(document.getElementsByClassName("myclass")).forEach(
function(element, index, array) {
// do stuff
}
);
En los navegadores más antiguos que no son compatibles Array.from, debe usar algo como Babel.
ES6 también agrega esta sintaxis:
[...document.getElementsByClassName("myclass")].forEach(
(element, index, array) => {
// do stuff
}
);
Descanse la desestructuración con ...trabajos en todos los objetos similares a una matriz, no solo las matrices en sí mismas, sino que se usa una buena sintaxis de matriz antigua para construir una matriz a partir de los valores.
Mientras que la función alternativa querySelectorAll(que hace getElementsByClassNameobsoleta) devuelve una colección que tiene forEachnativamente, otros métodos como mapo filterfaltan, por lo que esta sintaxis sigue siendo útil:
[...document.querySelectorAll(".myclass")].map(
(element, index, array) => {
// do stuff
}
);
[...document.querySelectorAll(".myclass")].map(element => element.innerHTML);
[].forEach.call(elsArray, function () {...}).