为什么jQuery抛出错误`fadeOut不是函数’?
我正在使用jQuery并将此代码放在我的javascript中:
function HideMe(itemID) { var myDiv = 'item_' + itemID; $(myDiv).fadeOut("slow"); }
但是它给了我这个错误: fadeOut
不是一个函数 。
你在那个页面上有另一个javascript库吗? 看来你有hide
函数, $
defined(例如,原型也有hide
函数)。
如果是这种情况,请尝试:
jQuery("#item_0").fadeOut("slow");
如果您使用的是“瘦身”版本的jQuery,就会发生这种情况。 只有jQuery的“完整”版本才包含动画效果。
尝试从jQuery下载页面抓取jQuery的“完整”版本,并将其包含在您的页面中(或者从您的页面中包含CDN的完整版本的jQuery )。
我有这个错误,因为我使用的是瘦身版的jQuery。 如果你下载完整版,你应该没问题。
即使选择器没有返回集合中的任何项,如果正确加载了jQuery,函数调用也会起作用( 不会生成此错误 )。 页面中存在冲突,或者根本没有加载。 你可以试试
jQuery(myDiv).fadeOut("slow");
或者研究为什么没有加载jQuery。
PS:如果按id选择,请不要忘记选择器中的#
。
此外,您可能忘记了选择器中的#
(除非您在标记中有类似
的内容)。
var myDiv = '#item_' + itemID;
jQuery使用CSS选择器来搜索元素,因此如果没有#
,您将获得带有标签item_x
而不是ID的每个元素。
看起来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加载之前调用该函数。