Backbone.js查看不呈现EL

时间:2012-07-01 12:39:08

标签: javascript jquery backbone.js underscore.js

我遇到Backbone.js View无法渲染的问题。我的代码非常简单,看起来像这样:

TableView = Backbone.View.extend({
    initialize : function() {
        this.render();
    },
    render : function() {
        var template = _.template($("#table_template").html(), {});
        alert(this.el);
        this.el.html('Go');
        //this.el.html(template);
    },
    events: {

    },
});

这是用于实例化对象并设置el

的代码
<script type="text/javascript">
            $(document).ready(function() {
                var t  = $("#table_1");
                //This works!!!
                t.html('Test');

                //Passing the element as the el, never works
                var table = new TableView({el : t});
            });
        </script>

除了它总是在控制台中说: ∪ncaught TypeError: Object #<HTMLDivElement> has no method 'html' . 我在这里做错了吗?我使用的是Jquery.1.7.2,主干0.9.2,下划线1.3.3和json2。

2 个答案:

答案 0 :(得分:5)

this.el是一个元素而不是jQuery对象。试试$(this.el).html()this.$el.html()

答案 1 :(得分:0)

应该是

var table = new TableView({el : "#table_1"});