Say you use the global jQuery variable ($
) to check if a form checkbox input is checked:
const isItemChecked = $('#itemInput').is(':checked');
And you get the following error:
Uncaught ReferenceError: $ is not defined
This is a JavaScript error that occurs when you try to access a variable or call a function that has not been defined. Why is $
not defined?
The jQuery library attaches the global variables jQuery
and $
to the browser window. The $
variable is the same as the jQuery
variable; it’s a shortened alias for simplicity.
When the jQuery library has not been added to your application, $
will be undefined. Here are two common fixes: one for when you download the jQuery library from a CDN and one for when you get the jQuery library from npm.
The jQuery global variable $
will be undefined if you import the jQuery library using a script
tag that’s added after the script
tag for your application code, which uses the $
variable:
<script src="myApp.js"></script> <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js"></script>
To fix this, import the jQuery library first:
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js"></script> <script src="myApp.js"></script>
Be sure that the URL path to the jQuery library is correct and that the library is downloaded.
$
from the jQuery npm libraryIf you are using the jQuery npm package, make sure that you import the jQuery global variable ($
) before using it:
import $ from 'jquery';