innerHTML
在此JavaScript代码中无效。
var date = new Date();
var time = date.getHours();
var morning = document.p.getElementById("greeting").innerHTML="Good Morning ";
var afternoon = document.write = "Good Afternoon ";
var evening = document.write = "Good evening";
if (time < 12){
morning}
else if (time < 18){
afternoon}
else {evening};
HTML代码
<p id="greeting"> </p>
我正在尝试根据时间将代码读作“早上好”或“下午”。 JavaScript位于外部文件中。它与document.write
一起使用,但在外部文件中,问候语显示在页面顶部。
我在这里尝试根据时间设置“问候”的
。
答案 0 :(得分:3)
document.p.getElementById("greeting")
应该是
document.getElementById("greeting")
答案 1 :(得分:2)
尝试替换此
var morning = document.p.getElementById("greeting").innerHTML="Good Morning ";
与
var morning = document.getElementById("greeting").innerHTML="Good Morning ";
答案 2 :(得分:2)
从p.
document.p.getElementById
纠正一个:
document.getElementById("greeting").innerHTML="Good Morning ";
答案 3 :(得分:2)
var afternoon = document.write = "Good afternoon";
这样做是为了引入一个名为afternoon
的变量,并在write
上设置和属性document
,这是以前的函数调用,到字符串"Good afternoon"
。
在代码的稍后部分,您只需编写afternoon
来访问变量,但不对其执行任何操作。
看起来你想做这样的事情:
var morning = function() { document.getElementById("greeting").innerHTML="Good Morning "; };
var afternoon = function() { document.getElementById("greeting").innerHTML="Good Afternoon "; };
var evening = function() { document.getElementById("greeting").innerHTML="Good evening"; };
if (time < 12) {
morning();
} else if (time < 18) {
afternoon();
} else {
evening();
};
也就是说,上面的代码最接近您的代码,这有点正确。我仍然会说有一些改进的余地。以下内容对我来说更有意义:
var morning = 'Good Morning ';
var afternoon = 'Good Afternoon ';
var evening = 'Good evening';
if(time < 12) {
document.getElementById("greeting").innerHTML = morning;
} else if (time < 18) {
document.getElementById("greeting").innerHTML = afternoon;
} else {
document.getElementById("greeting").innerHTML = evening;
}
更好的是,您可能首先要决定要使用哪条消息,然后分配它,如果您想要更改输出问候语的位置,则可以减少更改代码的位置,例如:
var messages = {
morning: 'Good Morning ',
afternoon: 'Good Afternoon ',
evening: 'Good evening'
};
var greeting = time < 12
? messages.morning
: time < 18
? messages.afternoon
: messages.evening;
document.getElementById('greeting').innerHTML = greeting;