主干Js中$
和this.$
之间的区别是什么?
这是参考书的例子
Addy Yosmani Book Example
答案 0 :(得分:3)
$
是jQuery。
this.$
而someView.$
是function
View
,el
执行对View
view.$('.someClass')
的子元素的DOM元素的选择。
例如view.$el.find('.someClass')
(check this)等同于$el
,其中el
(check this)是视图元素的缓存jQuery对象。
理想情况下,在视图中,您应该对视图view.$
的后代的DOM的一部分进行操作。因此,在这种情况下,{{1}}是完美的解决方案。
答案 1 :(得分:1)
$是jQuery,指的是jQuery选择器。
当使用$。时,它会将jquery选择范围缩小到任何DOM元素,它是 Backbone.View的子元素。
示例:
// selects the overall DOM body of your page.
$(body).append(something);
// This will not work.
this.$(body); // -> returns nothing.
var View = Backbone.View.extend({
render: function() {
// refers to the root element of this Backbone View.
this.$el.append(something);
}
});
this.$el
是一个特殊属性Backbone适用于视图,它引用您的根元素(在您的情况下,<p>
)。
如果<p>
有一个名为
<div class='pinkElephant'></div>
你可以放心地说
this.$('pinkElephant')
在 视图中引用粉红色大象,而不必担心在同一个骨干视图的其他5个实例中选择其他5个粉红色大象。
使用jQuery(以及任何CSS选择器)时,要按类名选择元素,请执行以下操作:
$('.whatever');
通过id,你可以:
$('#whatever');
如果三个不同的元素都有类名,那么jQuery将引用所有三个元素。