【问题标题】:javascript variables on different pages [duplicate]不同页面上的javascript变量[重复]
【发布时间】:2019-04-08 12:25:58
【问题描述】:

假设我有 2 个 html 页面(主页和关于),在主页内我有一个这样的标题

<header id="#header">
  some code
</header>

而且这个标题只在主页上,所以如果我在 java 脚本主文件中选择了这个标题

const header = document.getElementById('#header');

它会给我一个关于页面的错误,因为这个页面中没有标题这样的东西,那么你如何防止这些错误呢? 我是否必须将其设为局部变量?

我实际做的是这样的

if( body.className = 'home' ) {
 some code
}

像这样我会确保 about 页面无法访问与主页相关的任何内容,但这是一种不好的做法吗?

【问题讨论】:

标签: javascript


【解决方案1】:

很多种方法可以改进。不过,对您的问题最直接的回答是,如果未找到该元素,document.getElementById 将返回 null。因此,将任何依赖于header 的代码放入检查null 的条件中。

if (header) { ... }

【讨论】:

    【解决方案2】:

    你可以在javascript中使用三元运算符

    const header = document.getElementById('#header')?document.getElementById('#header'):null;
    

    因此它不会出错, 无论您想在哪里使用它,都可以使用 if 语句进行空检查。

    【讨论】:

    • 这不是三元运算符的好用处。同一行最好简化为const header = document.getElementById('#header') || null;,但这仍然没有必要,因为document.getElementById 要么返回一个DOM 节点,要么返回null 本身。
    猜你喜欢
    • 2014-12-31
    • 2018-05-04
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多