在firefox中使用firebug控制台,例如执行此脚本时
$("body").css("border","4px solid red");
它将返回错误消息:
TypeError: $("body") is null
相同的铬错误:
TypeError: undefined is not a function
任何人都知道为什么?以及如何使用它?
答案 0 :(得分:4)
$
不是对该网站jQuery
的引用。
看起来似乎加载了旧版本的jQuery ......
你可以这样说......
jQuery.fn.jquery; // 1.2.6
另外,请记住,控制台通常不是纯粹的环境。如果没有其他代码使用$
变量,他们可能会接管它。
看起来好像Firebug确实如此。我猜这是document.getElementById
的快捷方式,如果没有ID为null
的元素,则会返回"body"
。
Chrome中的错误不同,因为$
显然是undefined
,因此您尝试将undefined
用作函数。
答案 1 :(得分:3)
如果是亚马逊,只定义了jQuery
,而不是$
,则可以使用jQuery()
功能代替$()
,或者只定义$=jQuery
请注意,jQuery的版本是旧版本:1.2.6
修改强>
$=jQuery.noConflict()
听起来更干净
答案 2 :(得分:0)
由于“我不是我”,亚马逊要么不使用jQuery,要么不将其别名为“$”。
如果你想在这样的网站上使用jQuery,你可以使用像这样的jQuerify-ing书签:
http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet
暂时向页面添加jQuery(带有标准的“$”别名)。