【问题标题】:How to create dynamic LI and DIV for template如何为模板创建动态 LI 和 DIV
【发布时间】:2011-01-31 04:02:49
【问题描述】:

我想知道什么语言可以使我的模板动态化。示例 HTML 结构

<div id="tabs">
  <ul class="tabs">
    <li><a href="#tabs-1">Header</a></li>
    <li><a href="#tabs-2">Navigation</a></li>
    <li><a href="#tabs-3">Layout &amp; Colors</a></li>
    <li><a href="#tabs-4">Optimization</a></li>
    <li><a href="#tabs-5">Miscellaneous</a></li>
  </ul>
  <form method="post" action="options.php">
    <div class="tab-container">
      <div id="tabs-1" class="tab-content">Header</div>
      <div id="tabs-2" class="tab-content">Navigation</div>
      <div id="tabs-3" class="tab-content">Layout &amp; Colors</div>
      <div id="tabs-4" class="tab-content">Optimization</div>
      <div id="tabs-5" class="tab-content">Miscellaneous</div>
    </div>
  </form>
</div>

我想要LIDIV

<li><a href="#tabs-1">Header</a></li>
<div id="tabs-1" class="tab-content">Header</div>

不用一一写就可以动态。该怎么做?

【问题讨论】:

    标签: php jquery html arrays


    【解决方案1】:

    jQuery 模板在这种情况下效果最好。 检查文档@:

    http://api.jquery.com/jQuery.template/

    【讨论】:

    • 但是如果 NoScript 正在运行会发生什么? DOM 爆炸!
    【解决方案2】:

    我会使用Python,更具体地说是Flask。这是一个可能有效的模板。我猜您元素的名称存储在get_titles 返回的列表中:

    <div id="tabs">
      <ul class="tabs">
      {% for index in get_titles|length %}
        <li><a href="#tabs-{{ index + 1 }}">{{ titles[index] }}</a></li>
      {% endfor %}
      </ul>
    
      <form method="post" action="options.php">
        <div class="tab-container">
        {% for index in titles|length %}
          <div id="tabs-{{ index + 1 }}" class="tab-content">{{ titles[index] }}</div>
        {% endfor %}
        </div>
      </form>
    </div>
    

    不过话说回来,这可能有点矫枉过正。

    【讨论】:

    • 我认为这个答案假设太多。如果@wow 不想或不能将他们的 Web 堆栈更改为 Python 怎么办。
    • 只是纯 JS(嗯,jQuery)的替代品。如果您愿意,请使用。
    猜你喜欢
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多