我写了一些JavaScript代码。它以这种方式向NodeList类型添加新函数:
NodeList.prototype.forEach = function(func) {
var len = this.length
for(var i=0;i<len;i++) func(this[i])
}
它被用在其他地方:
document.getElementsByTagName("fieldset").forEach(disappearFields)
一切都很简单。
它在chrome中运行良好,但firefox出错:
document.getElementsByTagName(“fieldset”)。forEach不是函数 [打破此错误] document.getElementsByTagName(“fieldset”)。forEach(disappearFields)
disappearFields功能很短:
function disappearFields(what) {
what.style.display = "none"
}
我在谷歌寻求任何帮助,但根据这些信息我的代码应该正常工作。我自己无法应付。任何帮助都会受到赞赏。
答案 0 :(得分:2)
HTMLCollection.prototype.forEach = function(func) {
var len = this.length
for(var i=0;i<len;i++) func(this[i])
}
FireFox将document.getElementsByTagName("fieldset")
识别为HTMLCollection
https://developer.mozilla.org/en/DOM/HTMLCollection
我认为Safari认为它只是一个NodeList,IE只是一个对象。