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

Почему jQuery выдает ошибку "fadeOut не является функцией"?

Я использую jQuery и помещаю этот код в мой JavaScript:

function HideMe(itemID) {
    var myDiv = 'item_' + itemID;
    $(myDiv).fadeOut("slow");
}

Но это дает мне эту ошибку: fadeOut не является функцией.

4b9b3361

Ответ 1

У вас есть другая библиотека javascript на этой странице? Кажется, у вас есть функция hide, а $ определен (прототип, например, также имеет функцию hide).
Если это так, попробуйте:

jQuery("#item_0").fadeOut("slow");

Ответ 2

Это произойдет, если вы используете "тонкую" версию jQuery. Только "полная" версия jQuery включает эффекты анимации.

Попробуйте захватить "полную" версию jQuery с страницы загрузки jQuery и в том числе на вашей странице (или включая полную версию jQuery из CDN с вашей страницы).

Ответ 3

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

Ответ 4

Даже если селектор не возвратил какие-либо элементы в коллекции, вызов функции сработал бы (не генерировал бы эту ошибку в любом случае), если jQuery был загружен правильно. Либо есть конфликт на странице, или он вообще не загружается. Вы можете попробовать

jQuery(myDiv).fadeOut("slow");

или посмотрите, почему jQuery не был загружен.

P.S.: не забывайте # в селекторе при выборе по id.

Ответ 5

Кроме того, вы, вероятно, забыли # в селекторе (если в разметке нет что-то вроде <item_1 />).

var myDiv = '#item_' + itemID;

jQuery использует селекторы CSS для поиска элементов, поэтому без # вы получите каждый элемент с тегом item_x вместо идентификатора.

Ответ 6

Похоже, что jquery неправильно привязан к странице.

Проверьте вашу ссылку на jQuery.

Ответ 7

У вас liDiv вместо myDiv. Попробуйте:

function HideMe(itemID) {
    var myDiv = 'item_' + itemID;
    $(myDiv).fadeOut("slow");
}

Ответ 8

Попробуйте сохранить его внутри

$(document).ready(function(){
// your code. and don't forget the '#' in front of item.
});

Похоже, вы пытаетесь вызвать функцию до загрузки jQuery/DOM.

Ответ 9

При перемещении .html-шаблона в WordPress, я обнаружил, что это регулярно появляется.

Две причины, и ошибка консоли может быть обманчива:

  1. Ошибка в консоли может отправить вас по неверному пути. Это не может быть реальной проблемой. Первой причиной для меня был порядок, в котором вы установили файлы .js для загрузки. В html легко разместите их в том же порядке, что и шаблон темы. В Wordpress вам нужно ставить их в правильном порядке, а также устанавливать приоритет, если они не отображаются в правильном порядке,

  2. Второе - это файлы .js в верхнем или нижнем колонтитуле. Перемещение их в нижний колонтитул может решить проблему - для меня это произошло после целого дня попыток отладить проблему. Обычно это не имеет значения, но для сложной страницы с большим количеством js-библиотек это возможно!