我有骨干实例化的视图,如
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>
如何查找粗体和斜体的节点?我需要将类切换到那些节点。
答案 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.$
;除此之外,您使用的是个人偏好问题。