Javascript 是執(zhí)行順序是至上而下的,除非你特別說明,Javascript 代碼不會等到頁面加載完畢后才執(zhí)行。比如一個網(wǎng)頁里含有以下 HTML 代碼:
<div id="ele">welcome to www.jb51.net</div>
如果你在這行 HTML 代碼前,加入如下 Javascript 代碼:
<script type="text/javascript">
document.getElementById('ele').innerHTML= 'welcome to my blog';
</script>
運行該頁面,你會得到這樣的錯誤信息:“document.getElementById(‘ele') is null?!?原因是,當上面的 javascript 運行時,頁面上還沒有 ID 為‘ele'的 DOM 元素。
解決辦法有兩種:
1.把 javascript 代碼放在 HTML 代碼之后:
<div id="ele">welcome to www.jb51.net</div>
<script type="text/javascript">
document.getElementById('ele').innerHTML='welcome to my blog';
</script>
2.等到在網(wǎng)頁加載完畢后,運行該 javascript 代碼。你可以使用傳統(tǒng)的解決辦法(load):首先加 HTML 的 body 加入 “<body load="load()">,” 然后在 load()函數(shù)里調(diào)用上述 javascript 代碼。這里要著重介紹的是用 jQuery 來實現(xiàn):
<script>
$(document).ready(function(){
document.getElementById('ele').innerHTML= 'welcome to my blog';
});
</script>
// 當然, 既然用到了 jQuery, 更簡單的寫法是:
<script>
$(document).ready(function(){
$('#ele').html('welcome to my blog'); // 這里也可用. text() 方法
});
</script>
你可以把上述 jQuery 代碼放在頁面的任何位置,它總是等到頁面加載完畢后才執(zhí)行。