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 に答える