2013-06-04 61 views
-1

所以我一直在瀏覽HTML/CSS和Jquery的一些codeacademy的東西。鏈接script.js和html5

嘗試讓我的代碼在本地機器上工作以外,有點麻煩。

這裏是我的HTML

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Krypton Redux</title> 
     <link rel='stylesheet' type='text/css' href='stylesheet.css'/> 
     <script type='text/javascript' src='script.js'></script> 
     <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
     <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> </head> 

    <body> 

     <div></div> 
     <div style = "margin:10"></div> 
     <div></div> 
    </body> 
</html> 

,這裏是我的jQuery

$(document).ready(function(){ 
    $('div').draggable(); 
}); 

當我在HTML文件中直接寫jQuery代碼,然後在瀏覽器中打開它,它的工作原理。 但是,當在.js文件中做這件事時,我收到一個錯誤,說'$'無法識別。任何人有任何想法爲什麼?

+0

你是否在jQuery庫之前或之後包含你的JS文件? –

回答

2

$是jQuery別名。如果您在腳本中使用$,則必須在腳本之前定義jQuery。這是一個簡單的修復。重新排列您的腳本鏈接,如下所示:

<!-- Load jQuery first --> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

<!-- Since you use jQuery UI in your script as well, load it second. --> 
<!-- Note however that jQuery Core must be included before UI because it's a dependency --> 
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 

<!-- Finally, load your script --> 
<script type='text/javascript' src='script.js'></script> 

希望這會有所幫助。

+0

非常感謝。這是一個非常粗心的錯誤。 我認爲在任何腳本優先之前,HTML文件都會首先加載所有內容 –

+1

@RobertLemiesz哈哈。不用擔心朋友。它發生在最好的情況。我的理解,我仍然可能是錯誤的,因爲每個腳本文件在下載之前都會被完全解析,然後繼續下一步。 [This](https://developers.google.com/speed/articles/)網站提供了許多「最佳做法」提示。 – War10ck

3

jQuery腳本下面添加script.js

<link rel='stylesheet' type='text/css' href='stylesheet.css'/> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
<script type='text/javascript' src='script.js'></script>