我正在使用第三方日历应用,该应用在Firefox中出现错误,显示“权限被拒绝访问属性'parentNode'”。在Safari中我得到“ TypeError:'undefined'不是任何对象(评估't.parentNode')”。这是我的while循环。注意:我没有编写此代码,但我正在尝试修复它并失败。
while (t.parentNode !== null) {
if (t.id === this.divName) {
return true;
}
t = t.parentNode;
}
非常感谢任何帮助!
答案 0 :(得分:5)
您的意思是while (t.parentNode)
。
在DOM的根目录中,parentNode
将为null,而不是空数组。
答案 1 :(得分:2)
我猜你在谈论马特克鲁斯的日历。我修正了将下面一行改为你的循环的问题,因为这个帖子中没有一个解决方案适合我。
改变是在第49行,就在循环之前,它说:
var t = e.originalTarget;
应该是:
var t = e.target;
这使得来自萤火虫的消息消失了
答案 2 :(得分:1)
您确定t
在循环开始时不是undefined
吗?
答案 3 :(得分:1)
如果您使用Matt Kruse的日历,如果您查看粘贴代码前面的行,它会说:
var t = e.originalTarget;
对我有用的修正方法是将其更改为:
var t = typeof e.originalTarget === 'undefined' ? e.srcElement : e.originalTarget;
答案 4 :(得分:0)