这是我的代码:
<html>
<head>
<title>Date Test</title>
<script>
document.getElementById("date").innerHTML = Date();
</script>
</head>
<body>
<p>Today's date is <span id="date"></span></p>
</body>
</html>
当我运行HTML文档时,它只显示“今天的日期是”......为什么?!?
答案 0 :(得分:5)
执行脚本时<span id="date">
不存在。您可以将其放在onload
处理程序中以解决此问题:
<script>
onload = function() {
document.getElementById("date").innerHTML = Date();
};
</script>
这将在整个DOM准备好后的某个时间运行脚本。当然,您可以处理DOMContentLoaded
以在DOM准备就绪时立即运行代码,而不是在其内容也已加载之后运行代码,但另一种(非常简单)方法是将您的脚本放在结束之前{{1}标签:
</body>
答案 1 :(得分:3)
尝试在body
结尾之前放置脚本,以确保已加载DOM:
<html>
<head>
<title>Date Test</title>
</head>
<body>
<p>Today's date is <span id="date"></span></p>
<script type="text/javascript">
document.getElementById("date").innerHTML = Date();
</script>
</body>
</html>
示例: http://jsfiddle.net/tQUUH/
以下是一些更深入讨论该主题的资源:
如果您只是学习JavaScript,MDN是一个很好的资源。