当前位置:  开发笔记 > 编程语言 > 正文

document.getElementById在函数中失败

如何解决《document.getElementById在函数中失败》经验,为你挑选了2个好方法。

今晚使用document.getElementById时遇到奇怪的行为.在Firefox 3和Safari中重复.

基本上,它在Example1中找到id为"divid"的div.但是,在Example2中,它始终返回null.这里发生了什么?







    

Test

cbp.. 16

当你写这行时:

window.onload = addelement();

...你实际上并没有为window.onload 分配addelement.您正在执行addelement,然后将结果分配给window.onload.

将行更改为:

window.onload = addelement;


Chris Burges.. 5

cbp已经发布了正确的答案:函数"addelement()"在javascript中也是一个对象"addelement".

当你说,

x = addelement() ;

您将addelement()返回的值(在这种情况下,返回值将为null)赋值给变量x.

当你说,

x = addelement ;

您将函数addelement()分配给变量x.

在为onload事件分配addelement时,您希望在事件发生时调用该函数.所以你不用括号写它.

window.onload = addelement ;

(只是一个澄清,因为cbp已经给出了正确答案,但原因可能并不明显.)



1> cbp..:

当你写这行时:

window.onload = addelement();

...你实际上并没有为window.onload 分配addelement.您正在执行addelement,然后将结果分配给window.onload.

将行更改为:

window.onload = addelement;



2> Chris Burges..:

cbp已经发布了正确的答案:函数"addelement()"在javascript中也是一个对象"addelement".

当你说,

x = addelement() ;

您将addelement()返回的值(在这种情况下,返回值将为null)赋值给变量x.

当你说,

x = addelement ;

您将函数addelement()分配给变量x.

在为onload事件分配addelement时,您希望在事件发生时调用该函数.所以你不用括号写它.

window.onload = addelement ;

(只是一个澄清,因为cbp已经给出了正确答案,但原因可能并不明显.)

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有