什麼是文件準備好以及我應該如何使用它

jQuery 程式碼通常包含在 jQuery(function($) { ... }); 中,因此它只在 DOM 載入完成後執行。

<script type="text/javascript"> 
  jQuery(function($) {
    // this will set the div's text to "Hello".
    $("#myDiv").text("Hello");
  });
</script>

<div id="myDiv">Text</div>

這很重要,因為 jQuery(通常是 JavaScript)無法選擇尚未呈現給頁面的 DOM 元素。

<script type="text/javascript">
  // no element with id="myDiv" exists at this point, so $("#myDiv") is an
  // empty selection, and this will have no effect
  $("#myDiv").text("Hello");
</script>

<div id="myDiv">Text</div>

請注意,你可以通過將自定義處理程式傳遞到 .ready() 方法來為 jQuery 名稱空間新增別名。這對於另一個 JS 庫使用與 jQuery 相同的縮短的 $ 別名的情況很有用,這會產生衝突。為了避免這種衝突,你必須呼叫 $.noConflict(); - 這迫使你只使用預設的 jQuery 名稱空間(而不是短的 $ 別名)。
通過將自定義處理程式傳遞給 .ready() 處理程式,你將能夠選擇別名以使用 jQuery

$.noConflict();

jQuery( document ).ready(function( $ ) {
   // Here we can use '$' as jQuery alias without it conflicting with other 
   // libraries that use the same namespace 
   $('body').append('<div>Hello</div>')
});

jQuery( document ).ready(function( jq ) {
   // Here we use a custom jQuery alias 'jq' 
   jq('body').append('<div>Hello</div>')
});

使用 $(document).ready 函式不是簡單地將 jQuery 程式碼放在頁面底部,而是確保已呈現所有 HTML 元素,並且整個文件物件模型(DOM)已準備好執行 JavaScript 程式碼。