[funkcja] .apply () powodująca błąd „obiektu JScript” w IE
Poniższy wiersz kodu powoduje błąd „Obiekt JScript oczekiwany” w IE:
hideElements.apply(window, elements);
Według IE „oczekiwany obiekt JScript” odnosi się dohideElements
, która jest funkcją, która pobiera dowolną liczbę obiektów HTML jako argumenty i ukrywa je.
Konkretnie, odbieram tablicę obiektów HTML poprzez wywołaniegetElementsByTagName
i chciałbym przekazać tę tablicę jako listę argumentów funkcjihideElements
. Funkcja JSapply()
dokładnie w tym przypadku potrzebuję. Wiem, że z pewnością mógłbym napisać swój kod w inny sposób, ale ponieważ działa to doskonale w Firefoksie i Chrome i jest technicznie poprawne, naprawdę chciałbym wiedzieć, dlaczego IE tam utknął.
Ustaliłem, że kiedy linia zostanie wykonana:
window
nie jest zerowy i typuWindow
;elements
nie jest zerowy i typuHTMLCollection
; ihideElements
jest w pełni funkcjonalną funkcją JS (która działa doskonale samodzielnie i która jest w pełni załadowana po wykonaniu powyższego kodu).