Я использую jQuery и помещаю этот код в мой JavaScript:
function HideMe(itemID) {
var myDiv = 'item_' + itemID;
$(myDiv).fadeOut("slow");
}
Но это дает мне эту ошибку: fadeOut не является функцией.
Я использую jQuery и помещаю этот код в мой JavaScript:
function HideMe(itemID) {
var myDiv = 'item_' + itemID;
$(myDiv).fadeOut("slow");
}
Но это дает мне эту ошибку: fadeOut не является функцией.
У вас есть другая библиотека javascript на этой странице? Кажется, у вас есть функция hide, а $ определен (прототип, например, также имеет функцию hide).
Если это так, попробуйте:
jQuery("#item_0").fadeOut("slow");
Это произойдет, если вы используете "тонкую" версию jQuery. Только "полная" версия jQuery включает эффекты анимации.
Попробуйте захватить "полную" версию jQuery с страницы загрузки jQuery и в том числе на вашей странице (или включая полную версию jQuery из CDN с вашей страницы).
У меня была эта ошибка, потому что я использовал тонкую версию jQuery. Если вы загрузите полную версию, вы должны быть в порядке.
Даже если селектор не возвратил какие-либо элементы в коллекции, вызов функции сработал бы (не генерировал бы эту ошибку в любом случае), если jQuery был загружен правильно. Либо есть конфликт на странице, или он вообще не загружается. Вы можете попробовать
jQuery(myDiv).fadeOut("slow");
или посмотрите, почему jQuery не был загружен.
P.S.: не забывайте # в селекторе при выборе по id.
Кроме того, вы, вероятно, забыли # в селекторе (если в разметке нет что-то вроде <item_1 />).
var myDiv = '#item_' + itemID;
jQuery использует селекторы CSS для поиска элементов, поэтому без # вы получите каждый элемент с тегом item_x вместо идентификатора.
Похоже, что jquery неправильно привязан к странице.
Проверьте вашу ссылку на jQuery.
У вас liDiv вместо myDiv. Попробуйте:
function HideMe(itemID) {
var myDiv = 'item_' + itemID;
$(myDiv).fadeOut("slow");
}
Попробуйте сохранить его внутри
$(document).ready(function(){
// your code. and don't forget the '#' in front of item.
});
Похоже, вы пытаетесь вызвать функцию до загрузки jQuery/DOM.
При перемещении .html-шаблона в WordPress, я обнаружил, что это регулярно появляется.
Две причины, и ошибка консоли может быть обманчива:
Ошибка в консоли может отправить вас по неверному пути. Это не может быть реальной проблемой. Первой причиной для меня был порядок, в котором вы установили файлы .js для загрузки. В html легко разместите их в том же порядке, что и шаблон темы. В Wordpress вам нужно ставить их в правильном порядке, а также устанавливать приоритет, если они не отображаются в правильном порядке,
Второе - это файлы .js в верхнем или нижнем колонтитуле. Перемещение их в нижний колонтитул может решить проблему - для меня это произошло после целого дня попыток отладить проблему. Обычно это не имеет значения, но для сложной страницы с большим количеством js-библиотек это возможно!