- ベストアンサー
どういうときにjQueryオブジェクトが返るのか
jQueryの初心者なのですが、どういうときにjQueryオブジェクトが返るのかよくわかりません。 var sample = $(array) のように右辺がjQueryを使っていたら、左辺にもjQueryオブジェクトが入るのでしょうか?それとも、単純なdom要素が入るのでしょうか? 自分は、前者だと思っているのですが、サンプルコードを色々とみていると、 var sample = $(window); $(sample).each(function(){ }) などのように、$()でまた変数を囲っているものも見受けられます。 果たしてどうなのでしょうか? 以上、よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「前者」の考え方のとおりです。 変数 sample には jQuery オブジェクトが代入されています。 そのため sample.each(...); といった書き方が可能ですし、そう書いたほうが良いでしょう。 処理量を減らすためと、素直で読みやすいコードにするためです。 $(sample).each(...); でも動作するのは、引数に jQuery オブジェクトを渡すことができるからです。 結果は同じだし便利ですが、そうする必要がない場合は多くあります。 この例などもそうです。 プログラミングに詳しくない方が書いたのでしょう。 プログラミングに詳しくない(詳しくなる時間を用意できない)方でも簡単に利用できるのが jQuery の魅力です。 反面、サンプルコードを見極めることが重要になってきます。 まとめ: jQuery(...) の戻り値は jQuery オブジェクトですから var sample = jQuery(window); sample.each(...); と書くことができます。