如何给这个外部的js插件。$ el参考

时间:2012-12-14 19:32:45

标签: javascript jquery jquery-plugins backbone.js backbone-views

我有一个名为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')?

2 个答案:

答案 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")