在IE8中扩展Element.prototype时,“对象不支持方法”错误

时间:2012-11-09 21:36:30

标签: javascript dom prototype extend chain

我知道IE8支持Element对象的扩展。我尝试了一个简单的例子,它适用于谷歌浏览器,但不适用于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()

等内容中进行搜索

1 个答案:

答案 0 :(得分:1)

MooTools会覆盖基线Element

结帐

var e = document.getElementById('test');
console.log(e instanceof Element);
带有MooTools的

返回false,除了MooTools,它应该返回true。