1

我了解 IE8 支持Element对象的扩展。我尝试了一个简单的示例,它适用于 Google Chrome,但不适用于 IE8。这是我的代码,这是查看我的代码的 jsfiddle

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().

4

1 回答 1

1

MooTools 覆盖了基线Element

查看

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

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

于 2012-11-09T22:00:59.670 回答