假设我有2个html页面(home和about),在主页中我有这样的标题
<header id="#header">
some code
</header>
并且此标头仅在主页上,因此如果我在Java脚本主文件中选择了此标头
const header = document.getElementById('#header');
这将在About页面上给我一个错误,因为在此页面中没有诸如标题之类的东西,那么如何防止此类错误呢? 我必须改为使其成为局部变量吗?
我实际上所做的就是这样
if( body.className = 'home' ) {
some code
}
这样,我将确保about页面将无法访问与主页相关的任何内容,但这是一个不好的做法吗?
答案 0 :(得分:0)
有许多 方法可以对此进行改进。不过,对您问题的最直接答案是,如果找不到元素,document.getElementById
将返回null
。因此,将依赖于header
的所有代码放在检查null
的条件中。
if (header) { ... }
答案 1 :(得分:-1)
您可以在javascript等中使用三元运算符
const path = require('path');
module.exports = {
css: {
loaderOptions: {
// pass options to sass-loader
sass: {
data: `@import "~styles/global.scss";`
}
}
}
}
因此不会出现错误, 在任何要使用它的地方,都可以使用if语句使用null检查。