我试图弄清楚为什么我通过我的JS错误控制台跟踪器从一些访问者那里得到这个错误:
未捕获的类型错误:无法读取null的属性“类列表”
有问题的代码是:
if (typeof item == "object") {
item.classList.remove('active');
update_specific_marker(item.getAttribute('data-what'),"remove_active_icon");
}
这一点不应该起作用吗:
if (typeof item == "object") {
我对他们如何首先获得它感到困惑 - 因为我无法从该页面出现任何错误(无论我玩了多少,即使在 Chrome 中也是如此,这似乎是它的来源)
关于我可以尝试什么的任何建议?
如果您在JS控制台中执行typeof null
,它将打印对象
。因此,在您的情况下,如果项目=null
那么typeof项目=="对象"
也将生成true
相反,您可以做的是
if(item){
// do things
}
对于item=null
,typeofitem==“object”
为true,因此在块中您试图访问null值的classList
属性。你不能这样做,因此出现了错误。
要修复它,您将需要另一个条件来阻止 null 值访问代码。
if (typeof item == "object" && item != null)