[function] .apply () causando o erro “JScript object expected” no IE
A linha de código a seguir causa um erro "Objeto JScript esperado" no IE:
hideElements.apply(window, elements);
De acordo com o IE, o 'objeto JScript esperado' refere-se ahideElements
, que é uma função que toma qualquer número de objetos HTML como argumentos e os oculta.
Concretamente, eu recupero uma matriz de objetos HTML através de uma chamada paragetElementsByTagName
, e eu gostaria de passar esta matriz como uma lista de argumentos para a funçãohideElements
. A função JSapply()
é exatamente o que eu preciso nesse caso. Eu sei que eu certamente poderia escrever meu código de forma diferente, mas como isso funciona perfeitamente no Firefox e no Chrome, e é tecnicamente correto, eu realmente gostaria de saber por que o IE fica preso lá.
Eu determinei que, quando a linha é executada:
window
não é nulo e do tipoWindow
;elements
não é nulo e do tipoHTMLCollection
; ehideElements
é uma função JS totalmente funcional (que funciona perfeitamente sozinha e que é totalmente carregada quando o código acima é executado).