1

我在教程中看到了这堆代码:

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

我想了解this.选择器前面的实用程序,这是我第一次看到。

4

3 回答 3

5

在 aBackbone.View中,this.$给出了 jQuery 的作用域版本。它实际上等同于 using this.$el.findwhich 又等同于 using $(this.el).find

无论如何,使用它是一个好主意的原因是它只会从视图的元素/渲染模板中访问 html 元素。因此,您不必担心 html 页面的其余部分,您将始终选择您期望的元素。

想象一下,您有一个生成子视图的视图,并且每个视图都有一个可编辑的字段。如果您不使用 jQuery 的作用域版本来获得正确的可编辑字段,则必须为id这些 html 元素中的每一个赋予唯一性,以确保在检索其内容时选择正确的元素。另一方面,如果您使用范围版本,您只需为这个可编辑字段提供一个class属性,选择此类将为您提供一个独特的元素,即正确的元素。

于 2013-06-18T16:05:39.573 回答
2

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

于 2013-06-18T15:25:51.050 回答
1

您没有为该代码提供任何上下文,但假设它是 View 中的一个方法,this则指的是View对象。

this.$是从 View 对象访问 jQuery 的快捷方式,相当于方法this.$el.find.

于 2013-06-18T15:30:37.260 回答