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