2014-09-24 58 views
-2

我想知道$(document).ready與此,也許愚蠢JSFIDDLE example(這基本上使用jQuery繪製10個標題爲Graph1的div ...) herehere。但我想要的是瞭解這種工作流程/順序,相對於DOM ..等等。爲什麼我應該使用它,爲什麼我不應該使用它。我試圖用這個愚蠢的例子來更好地理解它

具體來說,與jsfiddle的例子,爲什麼它不起作用noWrap - in <body>$(document).ready(function(){被註釋掉?

注意:也許這個例子對我來說太愚蠢或不太清楚,但有了你的意見,我希望能夠澄清它並獲得更好的理解。

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Access Links</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <!-- <script src="../src/jquery-1.11.0.min.js"></script> <!-- works here with $(document).ready(function(){ commented out --> 
    <!-- DOES NOT WORK here with $(document).ready(function(){ --> 
    </head> 
    <body> 
    <!-- <script src="../src/jquery-1.11.0.min.js"></script> <!-- works here with $(document).ready(function(){ commented out --> 
    <!-- DOES NOT WORK here with $(document).ready(function(){ --> 
     <div class="container" id="graphs"> 
     <!-- My divs will go here --> 
     </div> 
    <!-- <script src="../src/jquery-1.11.0.min.js"></script> <!-- works here with $(document).ready(function(){ commented out --> 
    <!-- DOES NOT WORK here with $(document).ready(function(){ --> 
     <script> 
     //$(document).ready(function(){ 
     //--------- START: Draw all your divs------------------------------------------> 
     var numberOfDivs =10; 
     for (var x = 1; x <= numberOfDivs; x += 1) { 
     var $div = $('<div class="chart half"><h3 id="g' + x + '">Graph' + x + '</h3><svg id="chart' + x + '"></svg></div>'); 
      $('#graphs').append($div); 
     } 
     //--------- END: Draw all your divs------------------------------------------> 
     //} 
     </script> 
     <!-- <script src="../src/jquery-1.11.0.min.js"></script> 
     <!-- DOES NOT work here with $(document).ready(function(){ commented out --> 
     <!-- DOES NOT WORK here with $(document).ready(function(){ --> 
    </body> 
</html> 
+0

您的代碼示例的評論使「工作」與「不工作」的比較相當難以遵循。我完全希望這個示例能夠按照設計工作,而不使用'$(document).ready()',因爲這些元素是在DOM中創建後引用的。 – David 2014-09-24 23:48:44

+0

@David tks,但也許你可以回答具體的問題,我問了你的問題作爲初學者 – HattrickNZ 2014-09-25 00:03:23

+0

什麼*是你的具體問題?這是我的觀點,你所問的不清楚。何時使用'$(document).ready()'?那麼,當你不想讓你的代碼執行到文檔的'ready'事件被執行時,就會在DOM完成時調用它。 – David 2014-09-25 00:05:18

回答

0

如果您想了解函數的$(document)。就緒,我推薦你讀這jQuery.Like的源代碼:

// HANDLE: $(function) 
// Shortcut for document ready 
} else if (jQuery.isFunction(selector)) 
    return jQuery(document).ready(selector); 

如果選擇在$函數( ),$(document).ready將工作.BTW,我想你想知道這個函數的執行時間,這個函數將在DOM樹加載完成時工作。