在el中找到节点

时间:2012-04-24 13:19:21

标签: javascript jquery backbone.js

我有骨干实例化的视图,如

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>

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

1 个答案:

答案 0 :(得分: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.$;除此之外,您使用的是个人偏好问题。