?????????
$('.trigger') $('.trigger', document) //???????????????????????????
??§???????????????document?????????.trigger?????¢????????¨??????????????§????????????????????????????????????????????????????????§??????
???
?¬????this??§???????????????????????????????????????????????????????????´???????????£???????????£???????????????
?????????window???????????§????????????????????????????????¨?????°???
var hoge = { test:function(){ return this } } hoge.test();//hoge???????????§??????????????????
??§??????
????????????????????§?????????this??????????????¨???????????????????????£???????????£??????????????¨???????????¨??§??????
???
???
???
??§??????????????????????????¬?????????????????????????????????????????????????????????????????¨???????????????jQuery??¬????????¬????????¬????????????????????????????????£?????£???????????????
$('div.foo').click(function() {
$('span', this).addClass('bar');
});
jQuery() – jQuery API
????????´?????????????????????????????????????????¨??????this????????§????????????????????????????????????????????????????´???????????????????????????????????????´??????$('span', this)???????????????????????????????´????????????????span????´??????¨??????????????§??????
ちなみに「$」と言うのは関数名で、javascriptでは変数や関数の名前に英数字以外に「_」と「$」も使えるのです。ですので、jQueryを使ってなければ、自分で
function $(){...} var hoge = $();
などと出来ます。
他の言語でも「_」一文字の関数を作ったりできるかもしれませんが、普通はしないですよね。
jQueryなどがちょっと特別な関数に用いるjavascript(jQuery以後?)特有の文化です。
▽3
●
Lhankor_Mhy ベストアンサー |
あ、すみません。もうひとつの質問を回答していませんでした。
jQueryではメソッドチェーンで書いていくのがお作法といいますか、$で表現するjQueryコアはもちろん、多くのメソッドでjQueryオブジェクトを返します。
$('#hoge').hide() .addClass('fuga') .show()
上記のコードは、以下のような感じです。
同じような構造を簡単なjavascriptで書きますと、
var hoge = { fuga:function(){alert('fuga');return this;}, piyo:function(){alert('piyo');return this;}, } hoge.fuga().piyo().fuga().piyo();// fuga piyo fuga piyo とアラート4回
こんな感じです。オブジェクトのメソッドの最後にreturn thisを書いておくと自分自身を返すことになるので、メソッドをつないで書いていくことができるのです。