骨架中的$和this。$之间有什么区别

时间:2013-12-13 07:51:18

标签: jquery backbone.js

主干Js中$this.$之间的区别是什么? 这是参考书的例子 Addy Yosmani Book Example

2 个答案:

答案 0 :(得分:3)

$是jQuery。 this.$someView.$function Viewel执行对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个粉红色大象。

CSS Selector基础知识:

使用jQuery(以及任何CSS选择器)时,要按类名选择元素,请执行以下操作:

$('.whatever');

通过id,你可以:

$('#whatever');

如果三个不同的元素都有类名,那么jQuery将引用所有三个元素。