2011-07-14 40 views
1

我是Jquery的新手。在http://w3schools.com/jquery/tryit.asp?filename=tryjquery_hide_p處查看示例。在這裏,點擊「點擊我」按鈕即可更改文字。我的問題是爲什麼下面的代碼需要包裝在$(document).ready(function(){)}之下。否則,它不起作用。爲什麼將代碼打包成'文檔準備好'

非常感謝您的幫助,真的很感謝。

$("button").click(function(){ 
    $("p").hide(); 
    }); 
+1

因爲DOM必須先完全加載,然後才能「綁定()」到事件。我建議你閱讀jQuery的[自己的文檔](http://api.jquery.com/)('ready()'方法描述[here](http://api.jquery.com/ready/)) w3schools,如果你認真學習它的話。 –

回答

2

是的,如果您沒有在$(document).ready()處理程序中包裝此代碼,則對象將不存在,因爲DOM未加載。

這是一個簡單的測試,在調用其元素上的方法之前,確保DOM已準備就緒。

4

它確保所有的DOM元素試圖訪問這些

0

如果你不把它包起來,它可能無法找到你的元素之前被加載。該頁面需要先構建,然後您可以查找某些元素來添加一些功能。

所以你說「等待頁面完成加載,所以我想改變的所有元素都在那裏」,然後再開始向他們添加東西。