在el中找到节点

Dam*_*mir 2 javascript jquery backbone.js

我在骨干实例化视图中就像

var m=new StyleModel();
m.set({"test":"test"});
var a=new StyleView({"model":m,"el":$("#price")});
Run Code Online (Sandbox Code Playgroud)

el就像一排

<tr id="price">
<td>
<button class=".bold"/>
<button class=".italic"/>
</td>
<td>....</td></tr>
Run Code Online (Sandbox Code Playgroud)

如何找到粗体和斜体的节点?我需要将类切换到该节点.

mu *_*ort 7

首先,我认为您的HTML应如下所示:

<button class="bold"/>
<button class="italic"/>
Run Code Online (Sandbox Code Playgroud)

你不希望.class属性,这对类选择.

在您的视图中,您将拥有this.$el:

视图元素的缓存jQuery(或Zepto)对象.

并且this.$:

如果页面中包含jQuery或Zepto,则每个视图都有一个$函数,该函数运行在视图元素中作用域的查询.[...]它相当于跑步:view.$el.find(selector).

所以你可以做以下任何一个:

this.$el.find('.bold')   // bold elements
this.$el.find('.italic') // italic elements

this.$('.bold')
this.$('.italic')
Run Code Online (Sandbox Code Playgroud)

甚至:

$(this.el).find('.bold')
$(this.el).find('.italic')
Run Code Online (Sandbox Code Playgroud)

旧版本的Backbone不会有,this.$el但他们会有this.$; 除此之外,您使用的是个人偏好问题.