2012-07-07 60 views
0

爲什麼jQuery選擇器不工作?隱藏div在Backbone.View

查看

 Views.Now = Backbone.View.extend({ 
     template:"mytemplate", 


     initialize:function() { 
      var self = this; 
      this.$el.find(".content").hide(); // selector is not working 
     } 

    }); 

模板:他們的渲染()方法被調用後

<div id="now"> 
<p class="loader">Waiting for connection</p> 
<div class="content"> 
    <button>hello world</button> 
</div> 

回答

1

骨幹觀點只是渲染。在此之前,視圖的元素仍然是空的,所以選擇器不會找到任何東西。

+0

好的,我該怎麼辦? – fabian 2012-07-07 16:15:15

+0

如果你想默認隱藏div.content,IMO最好的方法就是使用CSS display:none。另一種解決方案是在「查找」選擇器之前調用this.render()以確保模板已呈現。所以你的行看起來像這樣:this.render()。$ el.find(「。content」)。hide(); – basteln 2012-07-07 16:18:42

+0

未捕獲RangeError:超出最大調用堆棧大小 _.extend._configure.render – fabian 2012-07-07 16:22:13