Javascript 扩展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对象的代码:

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,但在执行类似操作之前,请阅读不应该扩展它的原因: