Backbone:el:$未定义

时间:2014-02-04 21:58:55

标签: dom backbone.js

所以我有这个代码,(我正在学习Backbone,但是控制台告诉我:“Uncaught ReferenceError:$未定义”,我不知道为什么,我有视频的确切代码教程,错误在这一行:el:$('#container') 这是我的代码:

<!DOCTYPE HTML>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Backbone Project</title>

         <script src="lib/underscore.js" type="text/javascript"></script>
         <script src="lib/backbone.js" type="text/javascript"></script>
        <!--[if IE]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    </head>
    <body>

        <script type="text/template" id="task_template">
            <label>Task: </label>
            <input type="text" id="task_desc"/>
            <input type="button" value="Add Task" id="btn"/>
        </script>

        <div id="container"></div>

        <script type="text/javascript">

            Task = Backbone.View.extend({
                el : $('#container'),

                initialize: function(){
                    this.render();
                },

                render: function(){
                    var template = _.template($('#task_template').html(), {});
                    this.$el.html(template);
                }
            });

            var task = new Task();

        </script>
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

该示例使用jQuery选择DOM元素,将库添加到您的脑中......

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<!-- load other libraries that depend on jquery *after* jquery -->
<script src="lib/underscore.js" type="text/javascript"></script>
<script src="lib/backbone.js" type="text/javascript"></script>

<!-- ... time passes ... -->

<script type="text/javascript">

    // use jQuery onReady wrapper to ensure DOM has loaded before
    // executing JS that might depend on DOM elements, and scripts to exist
    $(function(){

        Task = Backbone.View.extend({
            el : $('#container'),

            initialize: function(){
                this.render();
            },

            render: function(){
                var template = _.template($('#task_template').html(), {});
                this.$el.html(template);
            }
        });

        var task = new Task();

    });

</script>