Por que não posso usar Array.forEach em uma coleção de elementos Javascript? [duplicado
Esta pergunta já tem uma resposta aqui:
JavaScript: percorre todos os elementos retornados de getElementsByTagName 9 respostasEstou construindo um aplicativo com Babel / ES6. Quero desabilitar todos os elementos do formulário para uma versão somente para exibição, então fiz o seguinte:
let form = document.getElementById('application-form')
let elements = form.elements
Eu esperava poder fazer isso, em vez de usar um @ antigo normfor
loop (que funcionou):
elements.forEach((el) => {
el.disabled = true
})
mas eu conseguiTypeError: elements.forEach is not a function
O estranho é que euconsole.log(elements)
no console do desenvolvedor do Chrome, exatamente como uma matriz com um monte deinput
objetos. Não é exibido com oObject
notação para objetos, e todas as chaves são números inteiros. Eu estou pensando que é algum tipo de pseudo array, mas eu nem saberia como descobrir isso.
EDITA: resposta curta não é uma matriz, é uma coleção HTMLC. VejoPor que o nodelist não tem par
Peresta resposta, nodelist
agora tem oforEach
método!