最初の例では間違いなく使用例があります。同じページに他のJSライブラリ/スクリプトがロードされている場合、変数$
を上書きしていないという保証はありません。 (これはPrototypeとjQueryが同じページにある場合に非常に一般的です)。
Prototypeが$
を使用している場合は、いつでもjQueryを使いたい場合はjQuery
を使用する必要があります。これは非常に醜い得ることができます:
jQuery(function(){
jQuery('a', '#content').bind('click', function(){
if(jQuery(this).attr('href') == 'www.google.com')
{
alert("This link goes to Google");
jQuery(this).addClass('clicked'));
}
});
})
はそれがグローバルスコープのプロトタイプからの方法であるため、我々は$
を使用することはできません、覚えておいてください。
しかし$
は、実際にはまだ外にプロトタイプを参照しながら、内部でjQueryライブラリを参照します
..あなたがこのの内側に包まれたならば!これはあなたのコードを整理することができます:
(function($){
$(function{}(
jQuery('a', '#content').bind('click', function(){
if(jQuery(this).attr('href') == 'www.google.com')
{
alert("This link goes to Google");
jQuery(this).addClass('clicked'));
}
});
));
})(jQuery);
これは、彼らが常にjQueryオブジェクトに追加されますが、きちんとしたコードを保つために$
を使って書くことができることを確実にするjQueryの拡張子を持つ一般的なパターンです。
FYI - これは同等ではありません。 – Hamish