我需要用javascript将多个LI分成两个UL。
我只能编辑的代码是模板文件:
[foreach array="nodes" as="node"]
<li>
<a href="%prefix%view/%node.id%" [if expr="%node.id%==%id% || %node.id%==%parent_id%"] class="hoofdmenuactief"[/if]>%node.title%</a>
%node.subnodes_html%
</li>
[/foreach]
PHP无法添加到此文件中,因此我想用JavaScript解决此问题:
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
<li><a href="#">Item 6</a></li>
</ul>
我希望Javascript统计UL内部的LI并使用LI的2来获得UL的
结果应为:
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
<ul>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
<li><a href="#">Item 6</a></li>
</ul>
该网站使用Prototype。 有人知道这个例子或我应该如何开始? 在此先感谢!!
答案 0 :(得分:1)
我认为您可以在模板中执行此操作。我只使用Smarty,所以你必须在语法
上连接点[LET nodesLen = nodes.length]
[LET countSoFar = 0]
[foreach array="nodes" as="node"] --attributes for key? name? could be helpful
<li>
<a href="%prefix%view/%node.id%"]>%node.title%</a>
</li>
[countSoFar++]
[if countSoFar >= nodesLen / 2]
<ul>
</ul>
[/if]
[/foreach]
聪明的theres smarty..iteration会自动执行我用countSoFar显示的内容。看看你的模板引擎能够做什么,以及如何实现我在上面概述的内容。
我认为你不需要原型或任何javascript来做这件事,这似乎是一个更容易被tpl处理的问题