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>

总结

以上所述是小编给大家介绍的解决document.getElementBy系列方法获取不到对象的问题,希望对大家有所帮助,也非常感谢大家对网站的支持!

标签:
document.getElementBy,,对象

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。