OK、無名関数について混乱していると思います。匿名関数-他の関数と同じように、名前がないだけです。これは通常、別の関数への引数として作成されます。
$('body').fadeIn('1000',function() {
alert('yay!');
});
これは1回限りの使用を目的としています(したがって、関数名は使用しません)。
有効な引数として渡されていないため、機能していないと思われます。$
私が疑うjQueryオブジェクトは、通常、無名関数ではなく、別のjQueryオブジェクトまたはパラメーターとしての文字列を必要とします(意味のあるものを返さない限り)。ただし、パラメータtobind
は正常に作成されます。
さて、あなたがやりたかったかもしれないことは、自己呼び出し無名関数を作成することです。この場合、構文は次のようにもなります。
(function($) {
$('a.change').bind('click',function(event){
$('body').css('background','#27272')
});
})(jQuery);
これにより、無名関数が作成され、実行されます(最後に引数が付いた括弧)。
[編集]
誤解を招くような情報を提供して申し訳ありません。明確にしておきます。使用した構文も有効です。jQueryオブジェクトは、DOMの読み込み後にそれに含まれる関数(コールバック)を実行するためです。したがって、これは実際には有効な構文です。