2

例如在执行此脚本时在 firefox 中使用 firebug 控制台

$("body").css("border","4px solid red");

它将返回错误消息:

TypeError: $("body") is null

同样在chrome中的错误:

TypeError: undefined is not a function

有人知道为什么吗?以及如何使用它?

4

3 回答 3

4

$不是jQuery该站点的参考。

看起来好像加载了旧版本的jQuery......

你可以通过这样做告诉...

jQuery.fn.jquery; // 1.2.6

另外,请记住,控制台通常不是一个纯粹的环境。如果没有其他代码使用该$变量,他们可能会接管它。

看起来 Firebug 就是这样做的。我猜这是 的快捷方式,如果没有 ID 的元素document.getElementById,它将返回。null"body"

Chrome 中的错误是不同的,因为$显然是undefined,因此您尝试将undefined其用作函数。

于 2012-07-10T22:26:30.387 回答
3

在亚马逊的情况下,只有jQuery定义,而不是$,您可以使用jQuery()函数代替$()或简单地定义$=jQuery

注意 jQuery 的版本是旧版本:1.2.6

编辑

$=jQuery.noConflict()听起来更干净

于 2012-07-10T22:50:40.890 回答
0

正如“我不是”所说,亚马逊要么不使用 jQuery,要么不将其别名为“$”。

如果你想在这样的网站上使用 jQuery,你可以使用一个像这样的 jQuerify-ing 小书签:

http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet

将 jQuery(使用标准的“$”别名)临时添加到页面中。

于 2012-07-10T22:27:46.713 回答