为什么document.getElementById("id")总是为null?

waterguners 2011-02-25 07:06:41
我在页面创建了元素标签,也设了id 按理来说应该直接能找到,可试了好几次都是返回Null 怎么回事?
...全文
1655 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆虫 2011-02-26
  • 打赏
  • 举报
回复
Dom没有加载完 你就去getElementById肯定是null了
cj205的可以 你也可以将那个function写在body标签的onload事件中
westdo 2011-02-25
  • 打赏
  • 举报
回复
document.getElementById("survey").onclick=function()//就是这行
折行先于
<a href="http://www.baidu.com" id="survey">www.baidu.com</a>//我设这个id
执行,肯定是找不到dom元素了,最简单的方法是把js放到这行之后,或者用其他机制,确保dom载入了再执行上面的js代码
十一文 2011-02-25
  • 打赏
  • 举报
回复
<a href="http://www.baidu.com" id="survey">www.baidu.com</a>放到 你的javascript前面也可以
Mr-Jee 2011-02-25
  • 打赏
  • 举报
回复
看我一楼的回答
如果不能理解,请百度谷歌以下
这是一个重要的知识点,你需要了解、理解
waterguners 2011-02-25
  • 打赏
  • 举报
回复
多谢cj205, 但这样子为什么不行呢?
Mr-Jee 2011-02-25
  • 打赏
  • 举报
回复
document.getElementById("survey").onclick=function()//就是这行
{
var survey=makepopup(this.href,640,480,"scroll");
return survey.closed
}

=>

window.onload = function(){
document.getElementById("survey").onclick=function()//就是这行
{
var survey=makepopup(this.href,640,480,"scroll");
return survey.closed
}

};
Mr-Jee 2011-02-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 birdfromforest 的回复:]

document.getElementById("formname:id");
一般这样就对了
[/Quote]
。。。你一定进错板块了~
waterguners 2011-02-25
  • 打赏
  • 举报
回复

<SCRIPT LANGUAGE="JavaScript">
function makepopup(url,width,height,overflow)
{
if(width>640){width=640};
if(height>480){height=480};
if(overflow=""||!/^scroll|resize|both$/.test(overflow))
{
overflow="both";
}
var win=window.open(url,'','width='+width+',height='+height+',scrollbars='+(/^scroll|resize|both$/.test(overflow)?'yes':'no')+',status=yes,toolbar=no,menubar=no,location=no');
return win;
}
document.getElementById("survey").onclick=function()//就是这行
{
var survey=makepopup(this.href,640,480,"scroll");
return survey.closed
}
</SCRIPT>
<BODY>
<a href="http://www.baidu.com" id="survey">www.baidu.com</a>//我设这个id

</BODY>
birdfromforest 2011-02-25
  • 打赏
  • 举报
回复
document.getElementById("formname:id");
一般这样就对了
birdfromforest 2011-02-25
  • 打赏
  • 举报
回复
是不是前面没写form的名字啊,把代码帖出来啊
Mr-Jee 2011-02-25
  • 打赏
  • 举报
回复
需要在DOM加载完毕后检索
1. ‘null’为空或不是对象: [removed] 里面加个defer=true属性试试看, 即:[removed] 2. document.getElementByIdnull 原因: var titab=document.getElementById(“titletab”);没有取到对象 解决办法: 1.在错误语句的下面加上alert(titab);调试语句,看看是否有消息框弹出 2.如果没有弹出,检查HTML代码中的是否存在”id=titletab”的标签(要

87,992

社区成员

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

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