0

这是我的代码:

<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 文档时,它只显示“今天的日期是”......为什么?!?

4

2 回答 2

5

执行<span id="date">脚本时不存在。你可以把它放在一个onload处理程序中来解决这个问题:

<script>
onload = function() {
    document.getElementById("date").innerHTML = Date();
};
</script>

这将在整个 DOM 准备好后的某个时间运行脚本。当然,您可以DOMContentLoaded在 DOM 准备好时立即运行代码,而不是在其内容也加载后,但另一种(非常简单)的方法是将脚本放在结束</body>标记之前:

<html>
<head>
<title>Date Test</title>
</head>
<body>
<p>Today's date is <span id="date"></span></p>
<script>
document.getElementById("date").innerHTML = Date();
</script>
</body>
</html>
于 2012-05-02T23:46:05.327 回答
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 是一个很好的资源。

于 2012-05-02T23:46:06.053 回答