今晚使用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已经给出了正确答案,但原因可能并不明显.)
当你写这行时:
window.onload = addelement();
...你实际上并没有为window.onload 分配addelement.您正在执行addelement,然后将结果分配给window.onload.
将行更改为:
window.onload = addelement;
cbp已经发布了正确的答案:函数"addelement()"在javascript中也是一个对象"addelement".
当你说,
x = addelement() ;
您将addelement()返回的值(在这种情况下,返回值将为null)赋值给变量x.
当你说,
x = addelement ;
您将函数addelement()分配给变量x.
在为onload事件分配addelement时,您希望在事件发生时调用该函数.所以你不用括号写它.
window.onload = addelement ;
(只是一个澄清,因为cbp已经给出了正确答案,但原因可能并不明显.)