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系列方法取得不到物件的問題,希望對大家有幫助,也非常感謝大家對downcodes.com網站的支持!