0

私はbars.jsという名前のjsファイルを持っています。このjavascriptファイルには、ページの外部構造を表示するためのコードが含まれています。したがって、$('#mainContainer')。drawBar();を実行すると (drawBar()はBars.js内の関数です)それは私のページの外側の構造を描画します。現在、backbone.jsを使用しています。app.jsで、$('#mainContainer')。drawBar();を呼び出しています。

したがって、drawBar()関数には<table><tr class='rows_table'><td> ABC</td><td>DEF</td></tr></table>(このコードはbar.jsにあります)

したがって、これは私の「mainContainer」に追加されます。

だから今、私の質問は、app.jsから次のような要素を参照することができないということです:this。$('。rows_table')。css( "display"、 "block");

むしろ私はそれを$('。rows_table')。css( "display"、 "block");と呼ぶ必要があります。このbar.jsコードを「this。$」参照に含める方法はありますか?

これと呼んでもいいですか。$('。rows_table')?

4

2 に答える 2

1

呼び出し元のビューがthis.$('.rows_table')要素を担当している必要があります。

各バックボーンビューには、担当するDOM要素があります。要素を設定しない場合<div>、ビューによって作成されているのは空です。

要素を設定することにより、ビューを作成するときに要素を設定できますel

テーブル要素への参照が必要になります。次に、次のようにします。

var tableElement = $('table')[0]; // or get the reference in a way specific to your code
var myView = new Backbone.View({
    el : tableElement
});

this.$('.rows_table')これで、ビューのメソッド内から呼び出すことができます。

于 2012-12-14T20:59:51.877 に答える
-1

thisBackbone.Viewインスタンスですか?もしそうなら、あなたはthis.$el.find(".rows_table")代わりに使用する必要がありますthis.$(".rows_table")

于 2012-12-14T19:39:03.173 に答える