Javascript 根据appendChild()中的当前时间显示问候语

Javascript 根据appendChild()中的当前时间显示问候语,javascript,variables,appendchild,Javascript,Variables,Appendchild,我在一个div中创建了一个h3,现在我正在尝试显示适合当前时间的问候语。它在播放中显示为h3,但只会导致未定义 有人能告诉我我错过了什么或做错了什么,而这些时间是无法计算的吗 var h3=document.createElement(“h3”); var d=新日期(); var hour=d.getHours(); 问候语; 函数greetCustomer(){ 如果(小时>18){ 问候语=“晚上好”; } 否则,如果(小时>12){ 问候语=“下午好”; } 否则,如果(小时>5){

我在一个div中创建了一个h3,现在我正在尝试显示适合当前时间的问候语。它在播放中显示为h3,但只会导致未定义

有人能告诉我我错过了什么或做错了什么,而这些时间是无法计算的吗

var h3=document.createElement(“h3”);
var d=新日期();
var hour=d.getHours();
问候语;
函数greetCustomer(){
如果(小时>18){
问候语=“晚上好”;
}
否则,如果(小时>12){
问候语=“下午好”;
}
否则,如果(小时>5){
问候语=“早上好”;
}
否则{
问候语=“欢迎夜猫子”;
} 
document.getElementById(“问候”).appendChild(h3);
}
h3.innerHTML=greetCustomer()

您没有从函数返回任何内容;那会解决你的问题

另一方面,您应该使用而不是
innerHTML
。您可能应该在
greetCustomer()
函数之外附加
h3

函数greetCustomer(){ var d=新日期(); var hour=d.getHours(); 问候语; 如果(小时>18){ 问候语=“晚上好”; }否则,如果(小时>12){ 问候语=“下午好”; }否则,如果(小时>5){ 问候语=“早上好”; }否则{ 问候语=“欢迎夜猫子”; } 回敬问候; } var h3=document.createElement(“h3”); h3.textContent=greetCustomer(); document.querySelector(“#问候语”).appendChild(h3)
您没有从函数返回任何内容;那会解决你的问题

另一方面,您应该使用而不是
innerHTML
。您可能应该在
greetCustomer()
函数之外附加
h3

函数greetCustomer(){ var d=新日期(); var hour=d.getHours(); 问候语; 如果(小时>18){ 问候语=“晚上好”; }否则,如果(小时>12){ 问候语=“下午好”; }否则,如果(小时>5){ 问候语=“早上好”; }否则{ 问候语=“欢迎夜猫子”; } 回敬问候; } var h3=document.createElement(“h3”); h3.textContent=greetCustomer(); document.querySelector(“#问候语”).appendChild(h3)
您需要从函数返回问候语字符串

您不需要在
greetCustomer()
中将H3附加到DOM中,这应该在函数外部完成。所有与时间相关的变量都应该是函数的局部变量,因为每次使用函数时都需要重新计算它们

var h3=document.createElement(“h3”);
document.getElementById(“问候”).appendChild(h3);
h3.innerHTML=greetCustomer();
函数greetCustomer(){
var d=新日期();
var hour=d.getHours();
问候语;
如果(小时>18){
问候语=“晚上好”;
}否则,如果(小时>12){
问候语=“下午好”;
}否则,如果(小时>5){
问候语=“早上好”;
}否则{
问候语=“欢迎夜猫子”;
}
回敬问候;
}

您需要从函数返回问候语字符串

您不需要在
greetCustomer()
中将H3附加到DOM中,这应该在函数外部完成。所有与时间相关的变量都应该是函数的局部变量,因为每次使用函数时都需要重新计算它们

var h3=document.createElement(“h3”);
document.getElementById(“问候”).appendChild(h3);
h3.innerHTML=greetCustomer();
函数greetCustomer(){
var d=新日期();
var hour=d.getHours();
问候语;
如果(小时>18){
问候语=“晚上好”;
}否则,如果(小时>12){
问候语=“下午好”;
}否则,如果(小时>5){
问候语=“早上好”;
}否则{
问候语=“欢迎夜猫子”;
}
回敬问候;
}

如果您只是将greetCustomer()函数中的文本分配给元素的
innerHTML
谢谢,那么只需
返回
您想要的文本,但我该怎么做呢?我是一名学生,目前仍在学习…如果只是将greetCustomer()函数中的文本分配给元素的
innerHTML
谢谢,那么只需
return
返回您想要的文本,但我该如何做呢?我是一名正在学习的学生…非常感谢!!这正是我需要的。谢谢你的帮助!!非常感谢你!!这正是我需要的。谢谢你的帮助!!