2012-06-03 5 views
11

Dentro del alcance de javascript, consultar HTMLDocument o HTMLElement provoca un error en IE8.¿Qué implica IE en HTMLDocument y HTMLElement

El error que recibo es "HTMLElement no está definido".

¿Cuál es la forma de que JS interactúe con el objeto DOM nativo de este navegador?

+0

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

+0

@mplungjan - esto no está definido ya que no estoy pidiendo un elemento dado, sino más bien sobre el núcleo DOM API. –

Respuesta

13

En IE8 tiene que usar las clases Element y HTMLDocument. En IE7 ... nada, porque IE7 es terrible para los estándares. Debe confiar en jQuery u otros marcos que envuelvan elementos DOM.

En mi propio marco hago esta simple comprobación:

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

Eso sí que no es un marco para IE7 e inferior.

+2

Acabo de probar nuevamente en IE8 y ambos, Elemento y Documento no están definidos. –

+3

@TzuryBarYochay En IE8, se define 'Element'. Si no, eso es porque estás en modo de compatibilidad. Acerca de 'Document', en realidad es' HTMLDocument'. – MaxArt

+0

respondió marcado en consecuencia ;-) –

Cuestiones relacionadas