javascript - 使用变量根据时间向用户显示上午、下午或晚上

标签 javascript html time

我想说“早上好,用户”(早上可以改为下午或晚上)我的代码不起作用。如果有任何帮助,我将不胜感激。

index.html 片段

 <h1 class="mx-3 text-center display-3">Good <span id="time"></span>, Username</h1>

ma​​ster.js

var today = new Date()
var curHr = today.getHours()
var time = null;

if (curHr < 12) {
  var time = "Morning";
} else if (curHr < 18) {
  var time = "Afternoon";
} else {
  var time = "Evening";
}

document.getElementById("time").innerHTML = time;

抱歉,我是 javascript 菜鸟。

我还想知道这个错误意味着什么(来自 google chrome 控制台):

Uncaught TypeError: Cannot set property 'innerHTML' of null
    at master.js:13

最佳答案

如果您在跨度之前链接 javascript 文件,那么 Uncaught TypeError: Cannot set property 'innerHTML' of null at master.js:13 将会发生,因为它还找不到跨度。尝试:

window.onload = function(e){ 
    document.getElementById("time").innerHTML = time;
}

关于javascript - 使用变量根据时间向用户显示上午、下午或晚上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47858353/

相关文章:

javascript - 在 NodeJs 中的 Require 中传递参数

html - 高度为 100% 的固定 div 的相等缩进

javascript - 在 HTML 音频标签中创建隐藏式字幕

php - 如何判断一个时间范围是否在一个时间范围内? PHP

php - 时间更改后的 time() 和 date() 问题(DST - 标准)

javascript - NodeJS - SHA256 密码加密

javascript - Javascript Dom 中,新添加的元素无法被选中?

Javascript:如何防止页面加载时播放音频?

javascript - 如何在iframe中显示来自div标签的所有超链接

javascript - 使用 Jquery 将时间转换为十进制