Проблема с jQuery - # <объект> не имеет метода - PullRequest
35 голосов
/ 07 июня 2010

Я недавно попробовал множество плагинов jQuery, и я продолжаю получать эту ошибку ...

has no method

… независимо от того, какой плагин я пытаюсь использовать.

Я проверил ссылки на файлы JS, которые все есть и работают нормально. Я использую Drupal, если это что-то меняет.

Я запустил плагины с основного сайта, чтобы продемонстрировать, что они работают и что я все делаю правильно со 100% успехом.

Есть идеи?

Обновление:

Мой файл jQuery вызывается в нижнем колонтитуле:

$(document).ready(function() {          

$('#footer_holder').hide();

// Fancy Box
$("a.fancybox").fancybox({
    'hideOnContentClick': true,
    'titlePosition' : 'over',
    'transitionIn'  :   'elastic',
    'transitionOut' :   'elastic',
    'speedIn'       :   600, 
    'speedOut'      :   200, 
    'overlayShow'   :   false,
});

$("#homepage_slider").easySlider({
    auto: true, 
    continuous: true,
});

});

* примечание - необычная коробка работает нормально (если только над ней не указан код easySlider). JQuery отсортирован по Drupal. Я использую версию 1.4

Ответы [ 6 ]

26 голосов
/ 27 апреля 2012

Эта проблема также может возникнуть, если вы включите jQuery более одного раза.

19 голосов
/ 07 июня 2010

Не обращай на меня внимания. Я извиняюсь всех. Я неправильно набрал URL сценария. Спасибо Саймону Эйнли за продвижение в правильном направлении.

Снова извините. Спасибо.

10 голосов
/ 22 июня 2012

Для всех, кто придет к этому вопросу:

Я выполнял самый простой jQuery, пытаясь скрыть элемент:

('#fileselection').hide();

и я получаю ошибку того же типа: " Uncaught TypeError: У объекта #fileselection нет метода 'hide'

Конечно, теперь это очевидно, но я просто отключил индикатор jQuery '$'. Код должен был быть:

$('#fileselection').hide();

Это исправляет проблему без проблем. Надеюсь, это поможет кому-то сэкономить несколько минут на отладке!

10 голосов
/ 13 июля 2010

Вчера у меня была эта проблема, или внешне похожая.Оказалось, что я не был осторожен при смешивании jQuery и прототипа.Я нашел несколько решений в http://docs.jquery.com/Using_jQuery_with_Other_Libraries. Я выбрал

var $j = jQuery.noConflict();

, но там описаны и другие разумные варианты.

5 голосов
/ 13 июля 2012

Эта проблема также может возникнуть, если вы включаете разные версии jQuery.

3 голосов
/ 07 сентября 2012

Это обычно связано с тем, что селектор не используется должным образом. Проверьте и убедитесь, что вы используете селекторы jQuery, как предполагалось. Например, у меня была эта проблема при создании метода щелчка:

$("[editButton]").click(function () {
    this.css("color", "red");
});

Поскольку я не использовал правильный метод селектора $ (this) для jQuery, он выдал мне ту же ошибку.

Так просто, проверьте ваши селекторы!

...