我有一个关于普通JavaScript的问题,如何摆脱控制台错误,说某些元素在页面上不存在,是什么?
更准确地说,我为首页制作了一个自定义滑块。而且该滑块仅存在于index.html中。而且,每当我转到其他页面时,都会收到一条错误消息,提示“未捕获的TypeError:无法读取null的'style'属性”。
现在,我知道问题出在哪里,JS正在寻找某个类,而该类在该页面上不存在。因此,我的问题是,克服此问题的最佳实践是什么?
我是否将其放入“ for”循环中?如果是,我会循环吗?
答案 0 :(得分:1)
我会添加一个if条件来搜索滑块,并且仅在找到该条件时运行代码。
类似这样的东西:
if(document.getElementById("slider") != null)
{
//Do your stuff
}
答案 1 :(得分:1)
处理此类问题的最基本方法是将相关代码块包装在try catch
中,然后根据需要捕获错误。
您还可以将尝试读取样式的代码包装在if
块中,以检查该元素是否存在。
在处理可能未知的内容时,这些通常都是代码中的好习惯,但是真正的最佳实践是仅在index.html而不是其他页面上时才加载处理滑块的脚本。 / p>