Необработанная ошибка ReferenceError: $ не определен?
Почему этот код выдает ошибку
Uncaught ReferenceError: $ is not defined
в то время как раньше он работал нормально?
$(document).ready(function() {
$('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
$('#featuredvid > ul').tabs();
});
В результате вкладки больше не закрываются.
jQuery подключен в заголовке:
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>
5 ответ(ов)
Вы должны разместить ссылки на скрипты jQuery в начале. Это важно, чтобы убедиться, что jQuery загружен перед другими скриптами, которые могут его использовать. Вот правильный порядок:
<script language="JavaScript" type="text/javascript" src="/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery-ui-personalized-1.5.2.packed.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/sprinkle.js"></script>
В этом случае jquery-1.2.6.min.js
загружается первым, что позволяет остальным скриптам, включая jquery-ui-personalized-1.5.2.packed.js
и sprinkle.js
, использовать функции jQuery.
Вы вызываете функцию ready
до того, как jQuery был подключен. Убедитесь, что вы сначала подключили jQuery, а затем вызываете эту функцию.
Вот что помогло мне решить проблему. Изначально я зашел в Google и скопировал предложенный фрагмент кода для jQuery с их страницы CDN:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
В этом фрагменте отсутствует HTTP:
или HTTPS:
в атрибуте src
, но моему браузеру, Firefox, это было необходимо, поэтому я изменил его на:
правка: это также сработало для Google Chrome
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
После этого все заработало.
Если ваш собственный скрипт загружается до того, как плагин jQuery загружен в браузер, то может возникнуть подобная проблема. Поэтому всегда размещайте ваш собственный код JavaScript или jQuery после подключения плагина jQuery. Решение в следующем:
Сначала добавьте ссылку на файл jQuery, размещённый на GoogleApis, или загрузите локальную версию jQuery с сайта http://jquery.com/download/ и разместите его на своём сервере:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
или любой другой плагин для jQuery. Затем добавьте ссылку на ваш собственный скрипт или вставьте его код:
<script src="js/custom.js" type="text/javascript"></script>
Таким образом, вы гарантируете, что jQuery и его плагины будут загружены до вашего скрипта, что предотвратит возможные конфликты и ошибки.
В вашем случае, проблема была в том, что вы подключали ваш .js
файл перед скриптом jQuery. Переместив подключение вашего .js
файла после подключения скрипта jQuery, вы решили свою проблему. Правильная последовательность подключения скриптов должна быть следующей:
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="exponential.js"></script>
Таким образом, убедитесь, что все зависимости загружаются перед теми скриптами, которые их используют, чтобы избежать ошибок.
Как перенаправить на другую веб-страницу?
Прокрутка к элементу с использованием jQuery
jQuery: Получение Выбранного Значения Из Выпадающего Списка
Как проверить радио-кнопку с помощью jQuery?
Существует ли ссылка на "последнюю" библиотеку jQuery в Google APIs?