在Backbone.js View中jQuery $和this。$之间的区别是什么?在一个视图中,我通过使用下面的代码
收听了一个集合的重置事件来清空一个元素//code in View
this.$("#the_id").empty();
然而它没有清空我的元素,然后我将代码更改为
$("#the_id").empty();
这次它有效。所以,为什么这个。$不做这项工作?
答案 0 :(得分:2)
在视图中调用this.$( selector )
与调用$( selector, this )
或$(this).find( selector )
相同。
它为选择器I.E.提供了上下文。只搜索this
下的元素以匹配选择器,而普通jQuery $(selector)
从整个文档的根开始搜索。
如果调用this.$("#the_id").empty();
没有做任何事情,那么你的视图不应该操纵它不拥有的元素,这意味着该元素不在视图的“控制区域”之下或者不存在于从...开始。