Javascript 扩展htmloptionscollection
我有一个扩展htmloptionscollection对象的代码:Javascript 扩展htmloptionscollection,javascript,object,Javascript,Object,我有一个扩展htmloptionscollection对象的代码: HTMLOptionsCollection.prototype.contains = HTMLOptionsCollection.prototype.contains || function(otherOption) { for (var i = 0; i < this.length; i++) { if (this[i].value === otherOption.valu
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;
};
它在Opera中的firefoxa dn上运行良好,但在IE9和Google Chrome中不起作用,它显示:
未捕获引用错误:未定义HTMLOptionsCollection
我怎样才能解决这个问题。我做错什么了吗?如果是,我该如何解决它呢?如果你做错了什么,那么错误的是你认为整个DOM都受任何浏览器的支持。例如IE:我在上没有看到任何HTMLOptionsCollection的原型,我假设DOM规范是正确的,这就是我对每种语言所做的。如果我不能假设一种语言遵循它的规范,那么我会用这种语言编写更多的程序!!!那么,这个问题的解决方法是什么?我想扩展document.createElement'select'。options返回的对象。这不是DOM规范的问题,问题是不遵循的应用程序。应该可以扩展HTMLSelectElement-prototype,但在执行类似操作之前,请阅读不应该扩展它的原因: