2

我在骨干实例化视图中像

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

el 像行

<tr id="price">
<td>
<button class=".bold"/>
<button class=".italic"/>
</td>
<td>....</td></tr>

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

4

1 回答 1

7

首先,我认为你的 HTML 应该是这样的:

<button class="bold"/>
<button class="italic"/>

您不想要属性中.的,那是用于类选择器。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')

甚至:

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

旧版本的 Backbone 没有,this.$el但它们会有this.$;除此之外,使用哪个是个人喜好问题。

于 2012-04-25T07:19:33.260 回答