Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

对IE8的DOM对象原型绑定属性

  现代浏览器上,所有的DOM元素都继承于HTMLElement,只要在这个构造器的原型上扩展属性就可以用于所有DOM元素。但IE8上没有HTMLElement这个基对象。要在IE8上扩展DOM元素的属性要找到具体的每一个元素构造器的原型,然后对其逐个绑定。
  下面这些是IE8中支持的元素构造器列表: [
  "HTMLUnknownElement","HTMLUListElement","HTMLTitleElement",
  "HTMLTextAreaElement","HTMLTableSectionElement",
  "HTMLTableRowElement","HTMLTableElement","HTMLTableColElement",
  "HTMLTableCellElement","HTMLTableCaptionElement",
  "HTMLStyleElement","HTMLSpanElement","HTMLSelectElement",
  "HTMLScriptElement","HTMLParamElement","HTMLParagraphElement",
  "HTMLOptionElement","HTMLObjectElement","HTMLOListElement",
  "HTMLMetaElement","HTMLMarqueeElement","HTMLMapElement",
  "HTMLLinkElement","HTMLLegendElement","HTMLLabelElement",
  "HTMLLIElement","HTMLInputElement","HTMLImageElement",
  "HTMLIFrameElement","HTMLHtmlElement","HTMLHeadingElement",
  "HTMLHeadElement","HTMLHRElement","HTMLFrameSetElement",
  "HTMLFrameElement","HTMLFormElement","HTMLFontElement",
  "HTMLFieldSetElement","HTMLEmbedElement","HTMLDivElement",
  "HTMLDListElement","HTMLButtonElement","HTMLBodyElement",
  "HTMLBaseElement","HTMLBRElement","HTMLAreaElement",
  "HTMLAnchorElement","HTMLDocument"
];
  遍历这些名称,从window对象上访问这些属性,然后在它们的prototype上添加属性即可。至于为么要在DOM元素上添加属性,要添加哪些属性,这些问题这里就不纠结了。但我一直是反对为现代浏览器扩展自定义属性的,只是IE8比较特殊,所以这些东西会用到。
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^