En mi JSFiddle , simplemente estoy tratando de iterar sobre una matriz de elementos. La matriz no está vacía, como demuestran las declaraciones de registro. Sin embargo, la llamada a forEach
me da el (no tan útil) error "No detectado TypeError
: undefined
no es una función".
Debo estar haciendo algo estúpido; ¿Qué estoy haciendo mal?
Mi código:
var arr = document.getElementsByClassName('myClass');
console.log(arr);
console.log(arr[0]);
arr.forEach(function(v, i, a) {
console.log(v);
});
.myClass {
background-color: #FF0000;
}
<div class="myClass">Hello</div>
arr
no es una matriz, sino unaHTMLCollection
. No tiene los mismos métodos que una matriz. developer.mozilla.org/en-US/docs/Web/API/… . Aquí hay una publicación SO incluso al respecto: stackoverflow.com/questions/13433799/…