Sentry Answers>JavaScript>

Uncaught ReferenceError: $ is not defined?

Uncaught ReferenceError: $ is not defined?

Matthew C.

The Problem

Say you use the global jQuery variable ($) to check if a form checkbox input is checked:

Click to Copy
const isItemChecked = $('#itemInput').is(':checked');

And you get the following error:

Click to Copy
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 Solution

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.

Add jQuery library script from CDN before your app script

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:

Click to Copy
<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:

Click to Copy
<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.

Import $ from the jQuery npm library

If you are using the jQuery npm package, make sure that you import the jQuery global variable ($) before using it:

Click to Copy
import $ from 'jquery';
  • YoutubeHow Sentry.io saved me from disaster
  • ResourcesImprove Web Browser Performance - Find the JavaScript code causing slowdowns
  • SentryJavascript Error Monitoring & Tracing
  • ResourcesJavaScript Frontend Error Monitoring 101
  • Syntax.fmListen to the Syntax Podcast
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark of Functional Software, Inc.