たとえば、このスクリプトを実行するときにFirefoxでfirebugコンソールを使用する
$("body").css("border","4px solid red");
次のメッセージとともにエラーが返されます。
TypeError: $("body") is null
クロムでも同じエラー:
TypeError: undefined is not a function
誰でも理由を知っていますか?そしてそれをどのように使用するのですか?
たとえば、このスクリプトを実行するときにFirefoxでfirebugコンソールを使用する
$("body").css("border","4px solid red");
次のメッセージとともにエラーが返されます。
TypeError: $("body") is null
クロムでも同じエラー:
TypeError: undefined is not a function
誰でも理由を知っていますか?そしてそれをどのように使用するのですか?
$
jQuery
そのサイトでの参照ではありません。
古いバージョンのjQueryがロードされているように見えます...
こうすればわかる...
jQuery.fn.jquery; // 1.2.6
また、コンソールは多くの場合純粋な環境ではないことに注意してください。変数を使用するコードが他にない場合$
、彼らはそれを引き継ぐ可能性があります。
Firebug はまさにそれを行っているように見えます。ID を持つ要素がない場合にdocument.getElementById
返されるのショートカットだと思います。null
"body"
エラーは Chrome では$
明らかundefined
に異なるため、関数として使用しようとしてundefined
います。
Amazonの場合、 のみjQuery
が定義され、 は定義されていません。代わりに関数を$
使用するか、単に定義することができますjQuery()
$()
$=jQuery
jQuery のバージョンは古いものであることに注意してください: 1.2.6
編集
$=jQuery.noConflict()
さらにきれいに聞こえる
「私はそうではありません」と述べられているように、Amazon は jQuery を使用していないか、「$」という別名を付けていません。
そのようなサイトで jQuery を使用したい場合は、次のような jQuerify-ing ブックマークレットを使用できます。
http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet
jQuery (標準の "$" エイリアスを使用) を一時的にページに追加します。