2013-06-18 34 views
1

我已經看到了這一串代碼在教程:

var searchTerm = this.$('#searchTerm').val().trim(); 

我想了解this.的效用的選擇面前,這是我第一次看到。

+2

你讀過[Backbone documentation](http://backbonejs.org/#View-dollar)嗎? –

回答

5

Backbone.View,this.$中給出了jQuery的作用域版本。實際上相當於使用this.$el.find,而這相當於使用$(this.el).find

無論如何,使用它的一個好主意是它只會從視圖元素/渲染模板中訪問html元素。因此,您不必擔心HTML頁面的其餘部分,您將始終選擇您期望的元素。

想象一下,您有一個生成子視圖的視圖,並且每個視圖都有一個可編輯字段。如果您不使用jQuery的範圍版本來獲取正確的可編輯字段,則必須爲每個這些html元素提供一個唯一的id,以確保在檢索其內容時選擇正確的元素。另一方面,如果使用範圍版本,則只需爲此可編輯字段指定一個class屬性,並選擇此類將爲您提供一個唯一的元素,即正確的元素。

2

這是相同的查詢this.$el.find('#searchTerm').val().trim();

1

您還沒有給出任何上下文的代碼,但假設它是一個視圖中的方法,thisView對象。

this.$是從View對象訪問jQuery的快捷方式,相當於方法this.$el.find

相關問題