0

我需要使用 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'd

结果应该是:

<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>

该网站使用原型。有人知道这个例子或我应该如何开始?提前致谢!!

4

1 回答 1

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] 

在 smarty 中有 smarty..iteration 会自动完成我用 countSoFar 展示的内容。看看你的模板引擎有什么能力,以及如何实现我上面勾勒的内容。

我认为您不需要原型或任何 javascript 来执行此操作,而且这似乎是 tpl 更容易处理的问题

于 2010-11-20T12:57:48.833 回答