javascript - "Object doesn' t support method“在IE8中扩展Element.prototype时出错

标签 javascript dom prototype extend chain

据我了解,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/

相关文章:

javascript - 从另一个 NodeList 中删除 NodeList

javascript - Moment.js - 如何获取用户时区?

JavaScript 和 XML Dom - 嵌套循环

JavaScript 原型(prototype)函数问题

javascript - 类似 Java/C# 的类定义在 Javascript 中不起作用吗?

javascript - 我想在 html 输入字段中只允许数字和正斜杠

javascript - 如何在对象原型(prototype)中设置多个函数

html - 为什么 Elm 不提供 HTML 文档头标签?

javascript - 在开发模式下向屏幕显示客户端错误

javascript 从原型(prototype)调用函数