如何组织html以3个部分呈现页面?

时间:2013-01-16 12:06:26

标签: backbone.js

我想通过呈现

来渲染我的页面
  1. 标题
  2. 身体
  3. 问题是,当我渲染这两个部分时,正文没有包含在.content div中,这里有一些代码:

    <html>
    <head></head>
    <body>
      <div id="content">
    
          <script type="text/template" id="header-template">
            <div>navbar</div>
          </script>
          <div id='header-container'></div>
    
          <script type="text/template" id="body-template">
            <p>Welcome !</p> <!-- Is not wraped inte the #content div -->
          </script>
    
        </div>
    </body>
    </html>
    

    使用backone我只是这样做:

    hearder.render();
    body.render();
    

    谢谢!

1 个答案:

答案 0 :(得分:0)

您的HTML完全被破坏:您的模板有一个未公开的<div>,但页面上有一个无法匹配的</div>关闭标记。看起来您正在尝试某种document.write样式模板,其中第一个模板打开标记,后一个模板关闭它。我不推荐它。查看关于如何将视图呈现给某个元素的Backbone.View documentation

基本上你应该在DOM中有容器元素:

<div id="header-container"></div>
<div id="content"></div>
<div id="footer-container"></div>

然后将视图渲染到元素:

body.render({el:"#content"});

或者:

body.render();
$("#content").html(body.el);

我敢打赌如果你解决这些问题,可能会有所改善。