2012-06-03 19 views
11

在javascript的范围内,指的是HTMLDocumentHTMLElement会在IE8上产生错误。什么是IE对HTMLDocument和HTMLElement的影响

我得到的错误是“HTMLElement未定义”。

让JS与本浏览器的本地DOM对象进行交互的方式是什么?

+0

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

+0

@mplungjan - 这是undelated,因为我不是要求给定的元素,而是关于DOM核心API。 –

回答

13

在IE8中,您必须使用ElementHTMLDocument类。在IE7中......没有什么,因为IE7对于标准来说太糟糕了。你必须依靠jQuery或其他包装DOM元素的框架。

在我自己的框架,我做这个简单的检查:

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

你要知道,这不是对IE7和更低的框架。

+2

我刚刚测试过的又是IE8上的,Element和Document都是未定义的。 –

+3

@TruryBarYochay在IE8中定义了'Element'。如果没有,那是因为你处于兼容模式。关于'Document',它实际上是'HTMLDocument'。 – MaxArt

+0

回答相应标记;-) –

相关问题