2012-05-31 53 views
15

这是一个非常简单的程序,输出应该是s和JavaScript,但我只得到aJavaScript innerHTML不工作

<html> 
    <head> 
     <title></title> 
     <script type="text/javascript"> 
      document.getElementById("ma").innerHTML="JavaScript"; 
     </script> 
    </head> 
    <body> 
     <h1 id="ma">s</h1> 
    </body> 
</html> 

回答

21

该元素在您尝试设置值时不存在。在将<h1>添加到DOM后,您需要调用此方法。

您可以进一步向下移动这个<script>标签,或者你的逻辑添加到一个函数,它应该当文件被加载到被称为:

window.onload = function() { 
    /* Add your logic here */ 
} 

演示:http://jsfiddle.net/Lr2Hm/

+1

工作就像对我的魅力。谢谢。 –

9

你必须等到DOM加载完毕。

window.onload = function(){ 
    document.getElementById("ma").innerHTML="JavaScript"; 
} 
11

你有两个选择:

window.onload = function() { 
    //your script here 
} 

<body> 
    <h1 id="ma">s</h1> 
    <script type='text/javascript'> 
     //your script here 
    </script> 
</body>