Javascript &引用;对象没有';“t支撑法”;在IE8中扩展Element.prototype时出错

Javascript &引用;对象没有';“t支撑法”;在IE8中扩展Element.prototype时出错,javascript,dom,prototype,extend,chain,Javascript,Dom,Prototype,Extend,Chain,我知道IE8支持元素对象的扩展。我尝试了一个简单的例子,它可以在谷歌浏览器中使用,但在IE8中不起作用。这是我的密码: HTML <div id='test'>Hi</div> 错误 //jsfiddle.net => Object doesn't support property or method 'test' //local test => 'Element' is undefined 我做错了什么 更新 至于本地错误,IE8似乎不喜欢我的标记。所

我知道IE8支持
元素
对象的扩展。我尝试了一个简单的例子,它可以在谷歌浏览器中使用,但在IE8中不起作用。这是我的密码:

HTML

<div id='test'>Hi</div>
错误

//jsfiddle.net => Object doesn't support property or method 'test'
//local test => 'Element' is undefined
我做错了什么


更新


至于本地错误,IE8似乎不喜欢我的
标记。所以我找到了另一个=IE8对这类事情非常严格。如果一个元素不是有效的HTML,IE8将不会在诸如
文档之类的内容中提取它。getElementsByTagName()
MooTools将覆盖基线
元素

退房

var e = document.getElementById('test');
console.log(e instanceof Element);

使用MooTools返回false,使用MooTools以外的任何内容都应返回true。

MooTools覆盖基线
元素

退房

var e = document.getElementById('test');
console.log(e instanceof Element);

使用MooTools返回false,使用MooTools以外的任何东西都应该返回true。

如果我没记错的话,你不应该在两种不同的上下文中使用“test”这个词两次。@alfred,我认为这没关系,因为这段代码永远不会在生产环境中使用,而且只有5行。;)我不知道jquery是否在规范化事物,但如果我把jquery放在提琴上,它会起作用:@epascarello,据我所知,IE8支持
元素
对象的扩展。如果我没记错的话,你不应该在两个不同的上下文中使用“test”这个词两次。@alfred,我认为这很好,因为这段代码永远不会投入生产,而且只有5行代码。;)我不知道jquery是否在规范化事物,但如果我将jquery包括在小提琴上,它就会起作用:@epascarello,据我所知,IE8支持
元素
对象的扩展。