$ - неопределенная ошибка в jQuery
-
26-10-2019 - |
Вопрос
Я получаю эту ошибку при использовании начальной загрузки Twitter. Я не получил эту ошибку при использовании ее в HTML. Я преобразовал его в тему WordPress, и теперь я получаю эту ошибку.
<script src="http://twitter.github.com/bootstrap/assets/js/bootstrap-dropdown.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$('.dropdown-toggle').dropdown()
</script>
Я получаю эти ошибки.
- «$ не определен» на Bootstrap-Dropdown.js Line 72.
- "$ (". Выпадающий в тупик "). Выпадающая часть не является функцией"
Буду признателен за любую оказанную помощь. Спасибо.
РЕДАКТИРОВАТЬ: Я попробовал это https://stackoverflow.com/a/9301017/759257
и включил последнюю версию JQUERY 1.7.1, и теперь она работает !!
Решение
Вы загружаете сценарии в неправильном порядке. Сначала загрузите jQuery, иначе он не будет доступен для сценария начальной загрузки.
Другие советы
Вы не устанавливаете его в правильном порядке:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="http://twitter.github.com/bootstrap/assets/js/bootstrap-dropdown.js"></script>
<script type="text/javascript">
$('.dropdown-toggle').dropdown();
</script>
Я предполагаю, что файл "Bootstrap-Dropdown.js" представляет собой плагин jQuery. Если это так, вам нужно сначала загрузить jQuery, так что переключите свой <script>
теги вокруг.
Сначала позвоните jquery.min.js, затем ваш начальный загруз
Потому что ваш Bootstrap-Dropdown.js работает без jQuery
Кроме того, когда вы используете JQ в WordPress, вы должны обернуть свой код в
jQuery(document).ready(function($) {
// $() will work as an alias for jQuery() inside of this function
});
У меня была такая же проблема. Я был изначально, в основном, спереди загружал все мои файлы JavaScript, включая Bootstrap, в один мега-брюк следующим образом:
bundles.Add(New ScriptBundle("~/bundles/jquery-etc").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js",
[other js files here]))
Я думал, что начальная загрузка загружалась после jQuery, так что все должно быть в порядке. Неа. Поэтому я помещаю начальную загрузку в отдельный пакет следующим образом:
bundles.Add(New ScriptBundle("~/bundles/jquery-etc").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
[other js files here]))
bundles.Add(New ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"))
Это привело к загрузке свойств после jQuery. Вероятно, решение DJB тоже выполнило бы работу. Но это сработало для меня.