我正在学习javascriptDOM编程艺术一书。试验里面的getElementById()函数
下面是我的代码。test.html文件里的内容<html>
<head>
<title>this is a test</title>
<script type="text/javascript" src="test.js"></script>
</head> <body id="sim">this is a test</body>
</html>test.js里面的内容function my_func()
{
if (document.getElementById("sim"))
{
alert("it exists");
}
else
{
alert("it doesn't exist");
}
}
window.onload = my_func();
结果弹出一个窗口说"it doesn't exist",应该是弹出"it exists"的啊,不知道是怎么回事。大家帮忙看看。

解决方案 »

  1.   

    window.onload = my_func;
      

  2.   

    终于有js的问题了window.onload = my_func;//这里括号去掉,加括号以后,立即执行,此时页面还未加载,即not exist
      

  3.   

    先加载<script type="text/javascript" src="test.js"></script>
    时,body还木有呢。
    你把
    <script type="text/javascript" src="test.js"></script>
    放到</html>之后再看看,结果就不一样了。
      

  4.   

    我说错了。sorry。
    window.onload是加载完html之后调用,也就是</html>加载完之后再调用的。
    所以window.onload=myfun;这样改是对的。
      

  5.   

    window.onload是加载完html之后调用,应该是最后一个标签调用完。
      

  6.   

    <html>
        <head>
            <title>this is a test</title>
            
        </head>    <body id="sim">this is a test</body>
       
    </html>
     <script type="text/javascript">    if (document.getElementById("sim"))
        {
            alert("it exists");
        }
        else
        {
            alert("it doesn't exist");
        }
        </script>
        这样也是可以的吧
      

  7.   


    window.onload = my_func; // 去掉()
      

  8.   

    谢谢各位,是window.onload = my_func();的问题。