1.執行時間不一樣:html
從字面的意思上理解,$(document).ready()就是文檔準備好了。也就是瀏覽器已經解析完整個html文檔,dom樹已經創建起來 了,這時就能夠經過class屬性或者id屬性等等對dom進行操做等。而$(window).load()就是整個頁面已經加載完畢。與前者的區別是 dom樹雖然已經創建起來了,但頁面不必定加載完畢,如一些大的圖片等,加載完成就須要必定的時間;可是頁面加載完畢後,dom確定也就創建起來了;可是 有些文字或者圖片連接等須要在文檔加載完畢前,dom樹創建後就進行的,這時就要用到$(document).ready()了。瀏覽器
2.能夠被執行的次數不一樣:app
$(document).ready()能夠在JavaScript代碼中出現屢次,而且裏面的函數或者代碼均可以獲得執行; 而$(window).load()只能在JavaScript代碼中出現一次,若是有多個$(window).load(),那麼只有最後一 個$(window).load()裏面的函數或者代碼纔會執行,以前的$(window).load()都將被覆蓋;dom
<script> $(document).ready(function(){ alert("test1");//這段代碼會被執行 }); $(document).ready(function(){ alert("test2");//這段代碼會被執行 }); $(window).load(function(){ alert("test1");//這段代碼不會被執行 }); $(window).load(function(){ alert("test2");//這段代碼將被執行 }); </script>
3.執行的效率不一樣:
如要在dom的元素節點中添加onclick屬性節點,這時用$(document).ready()就要比 用$(window).load()的效率高;可是在某些時候還必須得用$(window).load()才行,如以前寫的app下載,若是要關閉這個下 載框,則必需要在整個下載框加載完畢後,才能點擊關閉圖標,對app下載框執行隱藏。ide
<script> $(document).ready(function(){ $(".the_body a").attr("onclick","alert('test')"); }); $(window).load(function(){ $(".close_btn").click(function(){ $("#app_down").hide(); }); }); </script>