2

たとえば、このスクリプトを実行するときにFirefoxでfirebugコンソールを使用する

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

次のメッセージとともにエラーが返されます。

TypeError: $("body") is null

クロムでも同じエラー:

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

Amazonの場合、 のみjQueryが定義され、 は定義されていません。代わりに関数を$使用するか、単に定義することができますjQuery()$()$=jQuery

jQuery のバージョンは古いものであることに注意してください: 1.2.6

編集

$=jQuery.noConflict()さらにきれいに聞こえる

于 2012-07-10T22:50:40.890 に答える
0

「私はそうではありません」と述べられているように、Amazon は jQuery を使用していないか、「$」という別名を付けていません。

そのようなサイトで jQuery を使用したい場合は、次のような jQuerify-ing ブックマークレットを使用できます。

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

jQuery (標準の "$" エイリアスを使用) を一時的にページに追加します。

于 2012-07-10T22:27:46.713 に答える