2016-08-04 7 views
0

私はバックボーンとマリオネットを学びました。私はチュートリアルを読んで、私が理解できないコードを見つけました。コードは次のとおりです:

$('element',this.el)[0] 

私はjQueryを少し知っています。私はthisキーワードを知っています、私は$('element')キーワードを知っていますが、そのコードを理解していないので、皆さんにそれについて教えてください。

'element'はセレクタであり、そしてthis.elコンテキストともJavaScriptのオブジェクトにjQueryの要素を変換する第1の要素[0]を取得するためにブラケット表記法を使用している:

+0

'this.el'の中で' element'を見つけ、得られたjQueryオブジェクトからDOMElementを返します。 –

+0

フルコードを提供することができます –

+1

http://api.jquery.com/jquery/#jQuery-selector-context –

答えて

5

この$('element',this.el)this.el内に含まれるすべての<element>を選択すると言います。 this.elは別の「オブジェクト」でなければなりませんが、それは何がこれを構築しているかによって異なります。私はthis answer to a similar questionで詳しく説明します。


[0]は、バニラDOMオブジェクトを返すjqueryオブジェクトを単純にアンラップします。したがって:それはjquery関数でラップされていないので、もはやjqueryオブジェクトではないので、2番目のエラーは2番目のエラーです。バックボーン文脈において

+0

そのコードは「this.el」要素に 'element 'という名前の最初の要素を選択しています"? –

+0

ほぼ: "this.el **の**タイプ要素の**最初の要素を選択し、その周りからjqueryオブジェクトのラップを外してください**" – Liam

+0

あなたは何について話しているのか分かりませんが、私はあなたが何を言っているかを素早く理解することができるように、単純な図のイメージまたはそのようなものを追加しますか? –

0

これはjquery selector context構文です。

また、あなたが代わりにjQueryのセレクタのコンテキストの構文を次のように使用することができます:

$(this.el).find('element')[0] // hope you understand this syntax 
2
  • 、コードは、おそらくa viewthis.el中に発見されview's element
  • $('element',this.el)指すthis.el
  • $('element',this.el)[0]によって定義された範囲内のelementノードを見つける
  • を最初に見つかった elementノードを指し

バックボーンビューでは、簡略化して

関連する問題