title: Backbone.js redefines $() and this.el vanishes
body: <p>Seems like backbone.js (or Javascript?) has some strange behaviours I didn't expect. This is my (simplified) Backbone View (in CoffeeScript):</p>
  
  <pre><code>class Application.Views.Sidebar.SidebarView extends Backbone.View
    el: "#backbone-sidebar"
    template: JST["backbone/templates/sidebar"]
  
    initialize: () -&gt;
      # Yes, I am currently skipping addOne and addAll functions,
      # because it is not needed to reproduce the problem
      Articles.bind 'all',     @render
  
      Articles.fetch()
  
    render: =&gt;
      $(@el).html(@template())
      @ 
  </code></pre>
  
  <p>The problem is in the <code>render</code> function: <code>@el</code> is undefined when I run this in the debugger. Also the <code>$()</code> function is re-defined by backbone.js to some <code>getElementById</code> wrapper. When I use <code>window.$("#backbone-sidebar")</code> I get the correct jQuery functionality, but that is just a workaround.</p>
  
  <p>Isn't there a way to get jQuery's <code>$()</code>?</p>
  
  <p>And why is <code>@el</code> undefined?</p>