Подтвердить что ты не робот

Uncaught TypeError: Свойство '$' объекта [object global] не является функцией?

Я получаю следующую ошибку

Uncaught TypeError: свойство '$' объекта [объект global] не является функцией в строке 2:

Используя следующий код:

$(document).ready(function() {
    $('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
    $('#featuredvid > ul').tabs();
});

Проблема появляется локально только в 127.0.0.1, тогда как тот же код ОК онлайн! Я ослеплен, любые идеи?

4b9b3361

Ответ 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

Отключение блокировки всплывающих окон для меня