我制作了一个模式来使用他们的原型创建和扩展html元素.这就像非浏览器中的魅力一样.示例代码可以在@jsbin找到(参见页面源代码)
这种模式的优点应该是速度(方法在元素原型链中,因此它们被引用一次).你猜对了:IE没有去.在IE <8中,html元素的原型是隐藏/不可访问的,因此对于您创建的每个元素,您必须再次引用非标准方法(如果您密集使用该模式,请留下很多指针).我在网上搜索了解决方案,但只找到了复杂的解决方法.有没有真的没有办法在IE浏览器访问HTML元素的原型?
不,也不保证你可以在JavaScript中使用DOM对象的原型.DOM对象不是ECMAScript规范的一部分; 在任何浏览器中,它们可能都不是(传统上不是)本机JavaScript对象.
这就是框架倾向于拥有自己的"容器"包装类的原因.
即使它们是本机JS对象,你也不能依赖't.el.constructor'.'constructor'不是标准属性,在IE中不可用,甚至在Mozilla中也没有做你认为它做的事情.避免.