无法读取null的属性“ property”

时间:2018-10-31 12:58:52

标签: javascript html frontend

我有一个关于普通JavaScript的问题,如何摆脱控制台错误,说某些元素在页面上不存在,是什么?

更准确地说,我为首页制作了一个自定义滑块。而且该滑块仅存在于index.html中。而且,每当我转到其他页面时,都会收到一条错误消息,提示“未捕获的TypeError:无法读取null的'style'属性”。

现在,我知道问题出在哪里,JS正在寻找某个类,而该类在该页面上不存在。因此,我的问题是,克服此问题的最佳实践是什么?

我是否将其放入“ for”循环中?如果是,我会循环吗?

2 个答案:

答案 0 :(得分:1)

我会添加一个if条件来搜索滑块,并且仅在找到该条件时运行代码。

类似这样的东西:

if(document.getElementById("slider") != null)
{
 //Do your stuff
}

答案 1 :(得分:1)

处理此类问题的最基本方法是将相关代码块包装在try catch中,然后根据需要捕获错误。

您还可以将尝试读取样式的代码包装在if块中,以检查该元素是否存在。

在处理可能未知的内容时,这些通常都是代码中的好习惯,但是真正的最佳实践是仅在index.html而不是其他页面上时才加载处理滑块的脚本。 / p>