ReferenceError: Can't find variable: $

Cheetaiean picture Cheetaiean · Jan 28, 2014 · Viewed 60.8k times · Source

I am using jQuery. This is my coding on my main page:

<script type="text/javascript" src="script.js"> 
</script>

and my script.js is:

$(document).ready(function(){    
     $("#title").click(function () {
        alert("Works!");
    });
});

My full coding can be found here: http://pastie.org/8676656.

Using a tool on the browser, I found an error in my javascript code:

ReferenceError: Can't find variable: $

on line:

$(document).ready(function() {

Any help would be appreciated.

Answer

acdcjunior picture acdcjunior · Jan 28, 2014

You have to import jQuery before using it:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>

Notice it is using // as protocol (not http:// or https://), it means: if your .html file is at a http:// server, it will get jQuery from http://ajax.google..., and if it is at a https:// server, it will get it from https://ajax.google....


Note: If, while developing, you open your HTML file in your browser instead of in a server, you should specify the protocol, as in this answer, otherwise it won't work:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

Also, you should, if possible, place your .js files at the bottom of the page, right before closing </body>. See more in here.