0

我有一个名为 bar.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");。有没有办法可以在“this.$”参考中引入这个 bar.js 代码?

我可以称之为 this.$('.rows_table') 吗?

4

2 回答 2

1

您从中调用的视图this.$('.rows_table')应该负责该元素。

每个 Backbone 视图都有一个它负责的 DOM 元素。如果您不设置元素,则它只是一个<div>由视图创建的空元素。

您可以在创建视图时通过设置元素来设置el元素。

您将需要引用 table 元素,然后:

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

this是 Backbone.View 实例?如果是这样,您应该使用this.$el.find(".rows_table")而不是this.$(".rows_table")

于 2012-12-14T19:39:03.173 回答