JavaScript代码放在标题中

时间:2011-11-27 17:47:22

标签: javascript html

当我将它添加到标题部分时,我不清楚它为什么不使用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函数并在事件中调用它。但我们不能以这种方式使用。如果不能原因。

5 个答案:

答案 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事件中。