多個$(document).ready()的執行順序執行個體分析,.ready執行個體分析
本文以執行個體形式說明了多個$(document).ready()的執行順序問題,由執行個體可以看出多個$(document).ready()的執行順序並非單純的順序執行,其與嵌套層級也有一定的關係。具體執行個體代碼如下:
<html><head><script src="./jquery-1.9.0.min.js"></script><script type="text/javascript"> $(function(){ alert('1'); $(function(){ alert('2'); $(function(){ alert('3'); }); }); });</script><body>TTTTTTTTTTTT<script type="text/javascript"> $(document).ready(function() { alert('4'); $(function(){ alert('5'); }); });</script>KKKKKKKKKKKK<script type="text/javascript"> $(function(){ alert('6'); $(document).ready(function() { alert('7'); }); });</script></body></html>
運行alert顯示順序為:1,4,6,2,5,7,3
讀者可以自己測試體驗一下,以加深對多個$(document).ready()執行順序的理解。
$(document)ready(function(){})問題
js是順序執行的,你把引用的兩個js順序調一下。
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="js/showMenu.js"></script>
$(document)ready(function(){});不執行
這裡可能會有以下幾種原因,請你挨個排查:
1、js檔案的引用路徑不正確,特別是使用了命名空間,容易造成路徑錯誤,使用絕對路徑看是否成功
2、某一些函數使用錯誤,舉個例子,如果GetByJquery()存在錯誤,就會導致整個js不會執行,可以把所有函數都注釋掉,只看$(document).ready(function(){});是否會執行
3、$選取器所選的內容是否存在
PS:排查很簡單,請使用調試工具,如Firebug,查看console面板,就會把錯誤資訊展現出來的,如果有問題可以繼續諮詢我