在Backbone渲染代码之后,Jquery Accordion将dl> dd + dt?

时间:2013-01-15 19:54:47

标签: jquery backbone.js html-lists

我使用Backbone with Coffeescript创建了DL,DT,DD定义列表。 我在下面的html页面中使用了模板。 没有问题,成功渲染html。 我在chrome中查看了html,元素也没问题。

毕竟我试着制作手风琴。 并希望尝试所有DT隐藏。 但是无法为这个标签制作任何Jquery代码。

我使用了控制台;

 $(function () {    
       var allDD= $('div#userList dl').html();
       console.log(allDD);
      });

但没有记录!

我在网上找不到任何内容。 也试过了;

 $(document).ready and window.onload() 

但仍然没有发生任何事情。

如何在Backbone渲染后对代码产生手风琴效果。

请帮忙吗?

  <div id="userList"> 
      // DL > DT+DD will be here
  </div>

  <script type="text/template" id="tpl-user-results">
  <dl class="users"></dl>
  </script>

  <script type="text/template" id="tpl-user-row-dt">
      <span class="percent"><%= Math.ceil(dt.score) %></span>
      <a href="#" class=""> <%= dt.username %> (<%= dt.score%>) </a>
  </script> 

  <script type="text/template" id="tpl-user-row-dd">
      <span class="percent"> <%= dd.username %> (<%= dd.score%>) 
      <img src="/user/0001.jpg">
      <p>User Info : Lorem ipsum dolor sit amet, consectetur adipisicing elit. Temporibus reiciendis corporis hic consequatur alias veniam repudiandae architecto. Maiores aliquid sint cupiditate voluptate modi debitis ipsum consequuntur quaerat odit id ipsa.</p>
  </script>

1 个答案:

答案 0 :(得分:1)

此代码

var allDD= $('div#userList dl').html();

在您实际呈现HTML代码之后,应该在您的render方法中。

示例:

render: function() {
    this.$el.html(someTemplate);
    this.$el.accordion();
    this.$("dt").hide();
}