解决document.getElementBy系列方法获取不到对象的问题

心得技巧 2025-07-31

getElementById取不到对象

在浏览器进行文档解析时是有顺序的,当页面加载完毕之前,或者说在相应的DOM对象加载完毕之前,对应的对象是不能获取到的。

看下面代码:

script
    var temp = document.getElementById(div);
    alert(temp);
/script
body
div id=div
    input name=username id=username type=text
    button id=btn按钮/button
/div
/body

在这段代码中,document.getElementById(div)是获取不到对象的,且alert(temp)将会弹出null;

这是因为当浏览器解析到script标签中的代码时,body中的DOM元素还没有加载完毕,自然取不到任何东西。

解决方法:将script中的代码移到body元素之后,

body
div id=div
    input name=username id=username type=text
    button id=btn按钮/button
/div
script
    var temp = document.getElementById(div);
    alert(temp);
/script
/body

或者加上window.onload

script
window.onload = function(){
    var temp = document.getElementById(div);
    alert(temp);
    }
/script