2012-06-03 9 views
11

W zakresie javascript, odnosząc się do HTMLDocument lub HTMLElement podnosi błąd na IE8.Co robię we HTMLDocument i HTMLElement

Błąd, który otrzymuję, to "HTMLElement is undefined".

Jaki jest sposób interakcji JS z natywnym obiektem DOM tej przeglądarki?

+0

http://stackoverflow.com/questions/8868004/htmlelement-is-undefined-in-ie8-an-alternative – mplungjan

+0

@mplungjan - jest to niedopasowane, ponieważ nie pytam o dany element, raczej o rdzeń DOM API. –

Odpowiedz

13

W IE8 należy użyć klas Element i HTMLDocument. W IE7 ... nic, ponieważ IE7 jest straszny dla standardów. Musisz polegać na jQuery lub innych frameworkach, które zawijają elementy DOM.

W moim ramach robię to proste sprawdzenia:

var elementPrototype = typeof HTMLElement !== "undefined" 
     ? HTMLElement.prototype : Element.prototype; 

pamiętajcie, że to nie jest szkieletem dla IE7 i niższe.

+2

Właśnie przetestowałem ponownie na IE8 i zarówno Element jak i Dokument są niezdefiniowane. –

+3

@TzuryBarYochay W IE8 zdefiniowano "Element". Jeśli nie, to dlatego, że jesteś w trybie zgodności. O "Dokumentach", to tak naprawdę "HTMLDocument". – MaxArt

+0

odpowiedział odpowiednio oznaczone ;-) –

Powiązane problemy