getElementById取到的值为什么是null

jxwnhj0717 2010-03-11 10:09:31

<html>
<head>
<script type="text/javascript">
alert(window.document.getElementById("scrollDiv"));
</script>
</head>
<body>
<div id="scrollDiv"></div>
</body>
</html>

我实在是不明白啊。。alert出一个null
...全文
590 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2010-03-12
  • 打赏
  • 举报
回复 1
原因可以看2楼,我就不写了

写个能实现效果的简单点的改动


<html>
<head>
<script type="text/javascript" defer='defer'>
alert(window.document.getElementById("scrollDiv"));
</script>
</head>
<body>
<div id="scrollDiv"></div>
</body>
</html>

mykelly6 2010-03-12
  • 打赏
  • 举报
回复 1
在你alert的时候,scrollDiv这个DOM对象还没生成,所以是空
ws_hgo 2010-03-12
  • 打赏
  • 举报
回复 1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<script type="text/javascript">
window.onload=function()
{
alert(document.getElementById("scrollDiv"));
}
</script>
</head>
<body>
<div id="scrollDiv"></div>

</body>
</html>
woaiyanzic 2010-03-12
  • 打赏
  • 举报
回复 1
[Quote=引用 2 楼 coderfanl 的回复:]
那是因为页面元素id为scrollDiv的div还没有加载,所以取值为空,两种方法解决这个问题:
1 写在window.onload里面
2 写在加载元素后面
第一种方法:
HTML code<html><head><scripttype="text/javascript">
window.onload=function(){alert(window.document.getElementById("scrollDiv"));};</script></head><body><divid="scrollDiv"></div></body></html>
第二种方法:
HTML code<html><head></head><body><divid="scrollDiv"></div><scripttype="text/javascript">
alert(window.document.getElementById("scrollDiv"));</script></body></html>
[/Quote]
同意!帮顶
clerkwing 2010-03-12
  • 打赏
  • 举报
回复 1
装载顺序问题
passself 2010-03-12
  • 打赏
  • 举报
回复 1
还有一种方法不用顾及js会加载有错,就是把js的代码放到整个页面的最后及标签</html>之后,这样操作就可以了
luohuayh 2010-03-12
  • 打赏
  • 举报
回复
来晚了,分数没了!!!!!!
niuniu6201 2010-03-12
  • 打赏
  • 举报
回复 1
[Quote=引用 2 楼 coderfanl 的回复:]
那是因为页面元素id为scrollDiv的div还没有加载,所以取值为空,两种方法解决这个问题:
1 写在window.onload里面
2 写在加载元素后面
第一种方法:
HTML code<html><head><scripttype="text/javascript">
window.onload=function(){alert(window.document.getElementById("scrollDiv"));};</script></head><body><divid="scrollDiv"></div></body></html>
第二种方法:
HTML code<html><head></head><body><divid="scrollDiv"></div><scripttype="text/javascript">
alert(window.document.getElementById("scrollDiv"));</script></body></html>
[/Quote]

还未加载div
xuexinjet 2010-03-12
  • 打赏
  • 举报
回复
defer 不就是类似onload么
11楼 偶像
mint_wei 2010-03-12
  • 打赏
  • 举报
回复
11楼的defer用的很正点。
yingzhilian2008 2010-03-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 coderfanl 的回复:]
那是因为页面元素id为scrollDiv的div还没有加载,所以取值为空,两种方法解决这个问题:
1 写在window.onload里面
2 写在加载元素后面
第一种方法:
HTML code<html><head><scripttype="text/javascript">
window.onload=function(){alert(window.document.getElementById("scrollDiv"));};</script></head><body><divid="scrollDiv"></div></body></html>
第二种方法:
HTML code<html><head></head><body><divid="scrollDiv"></div><scripttype="text/javascript">
alert(window.document.getElementById("scrollDiv"));</script></body></html>
[/Quote]加载顺序
lxyd000 2010-03-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 coderfanl 的回复:]
那是因为页面元素id为scrollDiv的div还没有加载,所以取值为空,两种方法解决这个问题:
1 写在window.onload里面
2 写在加载元素后面
第一种方法:
HTML code<html><head><scripttype="text/javascript">
window.onload=function(){alert(window.document.getElementById("scrollDiv"));};</script></head><body><divid="scrollDiv"></div></body></html>
第二种方法:
HTML code<html><head></head><body><divid="scrollDiv"></div><scripttype="text/javascript">
alert(window.document.getElementById("scrollDiv"));</script></body></html>
[/Quote]
经典。
coderfanl 2010-03-11
  • 打赏
  • 举报
回复
那是因为页面元素id为scrollDiv的div还没有加载,所以取值为空,两种方法解决这个问题:
1 写在window.onload里面
2 写在加载元素后面
第一种方法:

<html>
<head>
<script type="text/javascript">
window.onload=function(){alert(window.document.getElementById("scrollDiv"));};
</script>
</head>
<body>
<div id="scrollDiv"></div>
</body>
</html>

第二种方法:

<html>
<head>
</head>
<body>
<div id="scrollDiv"></div>
<script type="text/javascript">
alert(window.document.getElementById("scrollDiv"));
</script>
</body>
</html>
herohk2002 2010-03-11
  • 打赏
  • 举报
回复
顺序执行,封装到一个函数,然后load里面调用

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧