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 ドキュメントを実行すると、「Today's date is」だけが表示されます... なぜ?!?

4

2 に答える 2

5

スクリプトの<span id="date">実行時には存在しません。onloadこれを修正するためにハンドラーに入れることができます:

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

これにより、DOM 全体の準備が整った後でスクリプトが実行されます。もちろん、DOMContentLoadedコンテンツがロードされた後ではなく、DOM の準備ができたらすぐにコードを実行するように処理できますが、もう 1 つの (非常に簡単な) 方法は、終了</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

bodyDOM が確実に読み込まれるように、スクリプトを の末尾の直前に配置してみてください。

<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 に答える