问题 什么是IE对HTMLDocument和HTMLElement


在javascript的范围内,参考 HTMLDocument 要么 HTMLElement 在IE8上引发错误。

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

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


7789
2018-06-03 07:46


起源

stackoverflow.com/questions/8868004/... - mplungjan
@mplungjan - 这是不可取的,因为我不是要求给定的元素,而是要求DOM核心API。 - Tzury Bar Yochay


答案:


在IE8中你必须使用 Element 和 HTMLDocument 类。在IE7中......没什么,因为IE7标准很糟糕。您必须依赖jQuery或其他包装DOM元素的框架。

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

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

请注意,它不是IE7及更低版本的框架。


13
2018-06-03 08:04



我刚刚在IE8上进行了测试,并且元素和文档都未定义。 - Tzury Bar Yochay
@TzuryBarYochay在IE8中, Element 被定义为。如果没有,那是因为你处于兼容模式。关于 Document,实际上 HTMLDocument。 - MaxArt
回答相应标记;-) - Tzury Bar Yochay