Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

Import jQuery before your code

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

Include jQuery before your script

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

this is jquery load problem, load jquery before all your code and script.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" ></script>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top