我有一个名为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我无法引用如下的元素: 此$( 'rows_table。')的CSS( “显示”, “块”);
我宁可打电话给它 $( 'rows_table')。CSS( “显示”, “块”);.有没有办法把这个bar.js代码带到“this。$”引用?我能称之为。$('。rows_table')?
答案 0 :(得分: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')
。
答案 1 :(得分:-1)
this
是一个Backbone.View实例?如果是,则应使用this.$el.find(".rows_table")
代替this.$(".rows_table")