Javascript 而(x!==null)会导致错误
我使用的第三方日历应用程序在Firefox中抛出一个错误,该错误显示“访问属性'parentNode'的权限被拒绝””。在Safari中,我得到“TypeError:'undefined'不是任何对象(计算't.parentNode')”。这是我的while循环。注意:我没有写这段代码,但我正在尝试修复它,但失败了 非常感谢您的帮助 你的意思是Javascript 而(x!==null)会导致错误,javascript,Javascript,我使用的第三方日历应用程序在Firefox中抛出一个错误,该错误显示“访问属性'parentNode'的权限被拒绝””。在Safari中,我得到“TypeError:'undefined'不是任何对象(计算't.parentNode')”。这是我的while循环。注意:我没有写这段代码,但我正在尝试修复它,但失败了 非常感谢您的帮助 你的意思是while(t.parentNode) 在DOM的根目录下,parentNode将为null,而不是空数组。您也可以使用 while (t = t.par
while(t.parentNode)
在DOM的根目录下,parentNode
将为null,而不是空数组。您也可以使用
while (t = t.parentNode) {
if (t.id === this.divName) {
return true;
}
}
查看此(基本)是否确定
t
在循环开始时不是undefined
var t = e.originalTarget;
对我有效的修复方法是将此更改为:
var t = typeof e.originalTarget === 'undefined' ? e.srcElement : e.originalTarget;
我猜你说的是马特·克鲁斯的日历。我修复了将下面的行更改为您的循环的问题,因为此线程中显示的任何解决方案都不适用于我 变化发生在第49行,就在循环之前,它说: var t=原始目标 应该是: var t=e.target
这使得firebug的消息消失了我正在测试.length属性。我错误地将其留在了代码示例中。已更新。请在(t.parentNode)时尝试
;这将检查未定义的
。而(t.parentNode){//stuff}仍然给我相同的错误。你的答案是正确的,但我没有测试t是否为null。这是在我的特殊情况下发生的情况。我用一个if(t){/}来包装它,它似乎解决了这个问题。谢谢大家的回答!Chrome提供参考错误:未定义t
。调试更清晰:-)我正在使用他的日历。非常感谢。
var t = typeof e.originalTarget === 'undefined' ? e.srcElement : e.originalTarget;