0
我有一个代码,以延长htmloptionscollection对象:延长htmloptionscollection
HTMLOptionsCollection.prototype.contains = HTMLOptionsCollection.prototype.contains ||
function(otherOption) {
for (var i = 0; i < this.length; i++) {
if (this[i].value === otherOption.value) {
return true;
}
}
return false;
};
它运作良好,对firefoxa DN在Opera,但在IE9和谷歌浏览器不工作显示: “未捕获的ReferenceError:HTMLOptionsCollection是未定义“
我该如何解决这个问题。我做错了什么?如果我是,我该如何解决它?
我假定DOM规范http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection是纠正这是我用每种语言做的事情。如果我不能假定一种语言遵循其规范,那么我将花更多的时间用该语言进行编程!那么,这个问题的解决方法是什么?我想扩展document.createElement('select')。选项返回的对象。 – brunoais 2011-04-21 06:52:50
这不是DOM规范的问题,问题是没有遵循的应用程序。应该可以扩展HTMLSelectElement - 原型,但是在你做任何这样的事情之前,请阅读为什么你不应该去看它:http://stackoverflow.com/questions/3826599/general-reasons-not-to-deal-with -documents-和元素原型 – 2011-04-21 23:22:11