Uncaught TypeError: Свойство '$' объекта [object global] не является функцией?
Я получаю следующую ошибку
Uncaught TypeError: свойство '$
' объекта [объект global] не является функцией в строке 2:
Используя следующий код:
$(document).ready(function() {
$('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
$('#featuredvid > ul').tabs();
});
Проблема появляется локально только в 127.0.0.1, тогда как тот же код ОК онлайн! Я ослеплен, любые идеи?
Ответы
Ответ 1
Я столкнулся с этой ошибкой, когда я пытался использовать эффект слайда который, как я думал, был частью jQuery, но был фактически эффектом пользовательского интерфейса jQuery. Это был результат моей консоли:
Uncaught TypeError: Property '#<Object>' of object #<Object> is not a function
Итак, для меня кажется, что вам просто нужно включить библиотеку пользовательского интерфейса jquery. Добавьте эту строку после включения jQuery.
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
Ответ 2
Убедитесь, что какой-либо другой script, который вы используете, вызывает jQuery.noConflict(). Выполнение этого освобождает привязку $
, в результате чего символ $
будет undefined.
Один из способов исправить это - добавить $
в качестве первого параметра вашей функции обратного вызова:
$(document).ready(function($) {
...
}
Это работает, потому что глобальный объект jQuery передается как первый параметр обработчику .ready()
. См. Также http://api.jquery.com/ready/
Ответ 3
Используйте это вместо:
jQuery(document).ready(function($){
$('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
$('#featuredvid > ul').tabs();
});
Ответ 4
У меня была такая же проблема. В сообщении об ошибке указано
TypeError: $ is not a function
$(document).ready(function() {
В моем коде, который была ошибкой, была строка:
$(document).ready(function(){
В моем случае проблема заключается в том, что $не распознается как jquery. Мне пришлось заменить $ключевым словом jQuery. Поэтому, наконец, я изменил свой код следующим образом:
jQuery(document).ready(function(){
И это сработало.
Ответ 5
У меня была та же ошибка с вкладками, и после некоторого копания в документации jQuery я нашел это:
http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Overriding_the_.24-function
Как только я перепробовал jQuery, он работал. Похоже, что у меня были проблемы с пространством имен.
Ответ 6
Я получил ту же ошибку и разрешил ее, добавив
var $ = jQuery;
как глобальный var на моем script
Ответ 7
Является ли jquery доступным локально? (упоминаемая вами ошибка обычно означает, что jQuery недоступен - загружен)
Возможно, вы загружаете его из относительного пути, а структура отличается от онлайн-версии.
Ответ 8
Возможно, это параметр безопасности браузера, который блокирует запуск JS локально, вы используете IE случайно?
Попробуйте Firefox или играйте с настройками безопасности в IE
Ответ 9
Просто используйте следующее:
jQuery(function() {
//Your code when document will be ready
});
Ответ 10
Это может быть версия jQuery или что-то в этом роде. У меня была эта точная проблема - я использовал локальную копию jQuery (версия 1.3.2), а затем переключился на http://code.jquery.com/jquery-latest.pack.js и вдруг это (последний в то время был 1.4.1).
У меня также были некоторые из проблем, которые вы упомянули о "Ресурсе, интерпретируемом как script, но передан с типом MIME text/plain". Я думаю, что безопасно игнорировать эту проблему, поскольку она все еще появляется для меня, хотя мой javascript сейчас работает.
Ответ 11
Отключение блокировки всплывающих окон для меня