2012-01-31 4 views
9

JörnZaefferer(here's the link)のjQuery UIコンボボックスの優れた説明を読んでいました。jQuery関数のthis.elementとは何ですか?

コードの4行目は、var select = this.element.hide()

を読み込みジョーンは言う:

VAR選択の参照コンボボックスが適用されますれている選択要素。 selectをテキスト入力に置き換えるには、selectが非表示になります。

私は今のjQueryを学んでいます、と私は前this.elementを見て覚えていません。 これはどう違うのですか?

+0

...そして、要素名はどこですか? '$(X).html()'は要素の内容を表示しますが、要素自体は表示しません! –

+0

ここでは 'var elementName = $(this).get(0).tagName.toLowerCase();' –

答えて

11

ウィジェットの内部では、「this」は、ウィジェットオブジェクト自体を指し、プロパティ「要素」を含みます。その "要素"は、そのウィジェットが適用されているhtml要素を指しています。

+0

ありがとう、私はこれが当てはまると思った。だから、ウィジェットは実際にはそれ自体のオブジェクトです。プラグインとは対照的に、「this」はあなたが呼び出すオブジェクトを指します。 –

2

これは、おそらくクエリオブジェクトではなく、this.elementはクエリオブジェクトのキャッシュに使用されている可能性があります。

7

このように考えることができます。

this.element // is just normal jquery object 

// for example 
var element = $('.current-selected-dropdown'); 

// and then put this together inside ui object 
this.element = element 

これが役立つかどうかはわかりません。

var Dropdown = { 
    element: null, 
    _init: function() { 

     // here is the same this.element that you referred to. 
     this.element = $('.dropdown'); 
    } 
} 
+0

はい、このコンセプトに助けになります、ありがとう –

関連する問題