2

Backbone.js 视图中的 jQuery $ 和 this.$ 有什么区别?在一个视图中,我使用下面的代码收听了一个集合的重置事件以清空一个元素

//code in View
this.$("#the_id").empty();

但是它没有清空我的元素,然后我将代码更改为

$("#the_id").empty();

这次它起作用了。那么,为什么 this.$ 不起作用?

4

1 回答 1

2

this.$( selector )在视图中调用与调用or$( selector, this )相同$(this).find( selector )

它为选择器 IE 提供上下文,仅this搜索下面的元素以匹配选择器,而普通 jQuery$(selector)从整个文档的根目录开始搜索。

您的视图不应操作它不拥有的元素,如果调用this.$("#the_id").empty();不做任何事情,则意味着该元素不在视图的“控制区域”或一开始就不存在。

于 2012-11-07T16:30:31.303 回答