为什么使用这个.$(selector).method()语法与骨干?

Lud*_*udo 1 backbone.js

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

var searchTerm = this.$('#searchTerm').val().trim();
Run Code Online (Sandbox Code Playgroud)

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

mor*_*mor 5

在a中Backbone.View,this.$给出了jQuery的范围版本.它实际上等同于使用this.$el.find,而这又相当于使用$(this.el).find.

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

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