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
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
- 1Check the browser console for $ is not defined.
- 2Rewrite small scripts to vanilla JS.
- 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
- Joomla 3 → 4JavaScript
behavior.framework (MooTools)
JHtml::_('behavior.framework') → Do not load MooTools — use vanilla JS or WebAssetManager
- Joomla 3 → 4JavaScript
JHtmlBootstrap::modal()
JHtmlBootstrap::modal() → HTMLHelper::_('bootstrap.renderModal')
- Joomla 3 → 4JavaScript
Chosen.js (formbehavior.chosen)
JHtml::_('formbehavior.chosen') → Core styled <select>, Choices.js, or Tom Select
- Joomla 4 → 5JavaScript
addScript() / addStyleSheet() vs WebAssetManager
$doc->addScript() → WebAssetManager + joomla.asset.json
- Joomla 5 → 6JavaScript
Joomla.JText (JavaScript)
Joomla.JText._() → Joomla.Text._() + Text::script() in PHP
- Joomla 3 → 4JavaScript
media/jui paths
media/jui/js/jquery.min.js → WebAssetManager registered assets