我正在学习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"的啊,不知道是怎么回事。大家帮忙看看。
下面是我的代码。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"的啊,不知道是怎么回事。大家帮忙看看。
时,body还木有呢。
你把
<script type="text/javascript" src="test.js"></script>
放到</html>之后再看看,结果就不一样了。
window.onload是加载完html之后调用,也就是</html>加载完之后再调用的。
所以window.onload=myfun;这样改是对的。
<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>
这样也是可以的吧
window.onload = my_func; // 去掉()