2011-08-04 5 views
2

こんにちは私はこのコードを見て、具体的に何が起こっているのかをthis.each(function(i,e)var $e = $(e);と考えていました。私はプログラマが何をしようとしているのか知りたい。独自のjquery関数を記述するとき、これはどういう意味ですか?

ありがとうございます!

$.fn.rssfeed = function (url, options, fn) { 
    return this.each(function (i, e) { 
      var $e = $(e); 
      var s = ''; 
} 

答えて

6

i.eachループの現在の反復要素のインデックスです。 eは実際のDOM要素です。

var $e = $(e); 

$e変数をjQueryの正規化されたDOMメソッドを利用するためにjQueryオブジェクトに包まれた現在のDOM要素を割り当てます。

プラグインは、典型的にはそう、特定のセレクタに一致するすべての要素に適用されます:

$("div").rssfeed(url, options, fn); 

.eachループ内のすべてのdiv要素を反復処理のプラグインにつながります。

+2

追加情報:必要に応じてオブジェクトを再インストールするのではなく、処理コストを削減するための良い方法です。 – Jules

+0

申し訳ありませんが、まだ少し不明です。 '$ e'はDOM要素を参照していますか? – locoboy

+0

いいえ、$ eはjQueryオブジェクトに 'e'をラップした結果に割り当てられます。 'e'は単純なDOM要素です。 – karim79

1
$.fn.rssfeed = function (url, options, fn) { 

    //Here this refers to the jquery object 
    //i refers to the index in the loop 
    //e refers to the dom element os $(e) will give the jquery object corresponding to the dom element 
    return this.each(function (i, e) { 
      var $e = $(e); 
      var s = ''; 
} 
0

各(関数(I、E))だけ

for(var i = 0; i < this.length; i++){ 
    var $e = $(this[i]); 
} 
実際

、電子多分DOM要素と$(e)のようには、オブジェクト($電子可能にするだけで、ユーザーのjqueryのです);

関連する問題