我想在点击按钮后显示系统日期,但点击按钮后它什么也没显示。我刚开始使用JavaScript而且我不知道自己做错了什么。
function dateFunc() {
return this.innerHTML = Date();
}

<button onclick="dateFunc()">The time is?</button>
&#13;
提前致谢。
答案 0 :(得分:4)
您必须将this
传递给该函数,以便您可以在函数内部引用它:
function dateFunc(thatBtn) {
return thatBtn.innerHTML = Date();
}
<button onclick="dateFunc(this)">The time is?</button>
答案 1 :(得分:1)
问题出在这一行:
return this.innerHTML=Date();
因为this
只是一个指向window
对象的引用。
改为使用DOM
操作。
function dateFunc() {
return document.getElementById('result').innerHTML=Date();
}
&#13;
<button onclick="dateFunc()">The time is?</button>
<div id="result"></div>
&#13;
答案 2 :(得分:0)
在dateFunc()
内,this
是窗口,没有属性innerHTML
。
您可以定义一个额外的元素来显示时间,并通过dateFunc()
在documnet.getElementById()
中获取该时间:
<!DOCTYPE html>
<html>
<body>
<button onclick="dateFunc()">The time is?</button>
<div id="display"></div>
<script>
function dateFunc() {
document.getElementById("display").innerHTML=Date();
}
</script>
</body>
</html>