JS-JQUERY-ASSUME-001

JHtml::_('jquery.framework')

Assuming jQuery is always on the page

Joomla 3 always loaded jQuery on many templates. Joomla 6 front-end does not guarantee jQuery. $ is not defined is the usual console error.

JHtml::_('jquery.framework')Declare jQuery in joomla.asset.json only if you still need it

Dies at Joomla 5 → 6J3: Works nativelyJ4: Changed behaviourJ6: Changed behaviourBC plugin: not applicableYou rewrite thisJavaScript

What you will see

  • $ is not defined
  • jQuery is not defined
  • Uncaught ReferenceError: jQuery

Symptoms people search

tabs/sliders dead after Joomla 6 · console jquery is not defined

Replace this code

Swap JHtml::_('jquery.framework') for Declare jQuery in joomla.asset.json only if you still need it.

Joomla 3

Remove or stop calling this

jQuery(function ($) {
  $('.lms-tab').on('click', ...);
});

Joomla 4 / 6

Use this instead

// Prefer vanilla JS.
// If you must use jQuery, depend on it in joomla.asset.json — do not force jquery.framework on a Joomla 6 site template.

How to fix it

  1. 1Check the browser console for $ is not defined.
  2. 2Rewrite small scripts to vanilla JS.
  3. 3If jQuery is required, add it as a WebAsset dependency — do not JHtml::_('jquery.framework') in a site template.

Also known as

jquery.framework · jQuery · $(

Related issues

Get in touch

Have a project in mind? Let's talk about it.

Tell us what you're building. Whether it's a new site, an online store, a mobile app, or something that needs AI under the hood, we'll get back to you within a business day.

Free consultation
No commitment, no pressure
Reply within 24 hours
Usually much faster

Prefer a direct conversation?

Request a project quote

Tell us about your project

Fill out the quick form and we'll reach out.