据我了解,IE8 支持 Element
的扩展目的。我尝试了一个简单的例子,它在 Google Chrome 中有效,但在 IE8 中无效。这是我的代码,and here is a jsfiddle to see my code :
HTML
<div id='test'>Hi</div>
JavaScript
Element.prototype.test = function(){
alert('yup');
}
document.getElementById('test').test();
错误
//jsfiddle.net => Object doesn't support property or method 'test'
//local test => 'Element' is undefined
我做错了什么?
<小时/> 更新好吧,至于本地错误,看来IE8不喜欢我的<!DOCTYPE>
标签。所以我找到了另一个。 =p IE8 对此类事情非常严格。如果某个元素不是有效的 HTML,IE8 将不会在诸如 document.getElementsByTagName()
之类的内容中选择它。 .
最佳答案
MooTools 会覆盖基线Element
。
查看
var e = document.getElementById('test');
console.log(e instanceof Element);
使用 MooTools 时返回 false,使用除 MooTools 之外的任何内容时都应返回 true。
关于javascript - "Object doesn' t support method“在IE8中扩展Element.prototype时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13316379/