当我将它添加到标题部分时,我不清楚它为什么不使用javascript代码,如下所示。
我们可以在正文中放置一个javascript代码,如下所示
<html>
<head>
<title> Simple Test </title>
</head>
<body>
<div id="mydiv"> This is the div content </div>
<script type="text/javascript" >
document.getElementById("mydiv").innerHTML=Date();
</script>
</body>
</html>
但是当我在标题部分放置相同的JavaScript代码时,它不起作用。
<html>
<head>
<title> Simple Test </title>
<script type="text/javascript" >
document.getElementById("mydiv").innerHTML=Date();
</script>
</head>
有人可以解释一下这个问题。我知道我可以在头文件中编写JavaScript函数并在事件中调用它。但我们不能以这种方式使用。如果不能原因。
答案 0 :(得分:5)
<html>
<head>
<title> Simple Test </title>
<script type="text/javascript" >
window.onload= function (){document.getElementById("mydiv").innerHTML=Date();}
</script>
</head>
我认为上面的代码可以帮助您解决问题。你可以尝试这个。
答案 1 :(得分:4)
因为在加载页面时,当浏览器到达<script>
元素时,尚未创建#mydiv元素。
使用“onload”事件,或将脚本放在页面底部。
答案 2 :(得分:3)
这是因为页面按照读取的顺序呈现。因此,当评估标题中的脚本时,页面的其余部分尚未呈现(即尚未创建myDiv元素)。
当您在头部中创建一个工作正常的事件处理程序时 - 在加载页面的其余部分之前设置处理程序,但事件在元素存在之前不会发生。
答案 3 :(得分:1)
当您将其放入<head>
时,它会在<body>
存在之前运行。
答案 4 :(得分:1)
这是因为页面呈现顺序。您可以在创建元素之前访问它们。如果可以的话,尝试将所有JavaScript代码放在页面的末尾(在关闭body标签之前)。它将节省您的页面加载时间。如果你不能把它放在底部,把代码放在onload
事件中。