1

我需要构建简单的标签菜单。问题是我必须产生这样的想法......

 <ul id="menu">
  <li class="First">First</li>
  <li class="Second">Second</li>
  <li class="Third">Third</li>
</ul>

......从某个人那样想

<div class="someclass">
     <li class="First">First</li>
    <p>text</p>
    </div>
<div class="someclass">
     <li class="Second">Second</li>
    <p>text</p>
    </div>
<div class="someclass">
     <li class="Third">Third</li>
    <p>text</p>
    </div>

我试图用我对 js 的纯知识来解决这个问题......

<div id="PutAfter">  
<ul id="menu">
  <li id="m">First</li>
  <li id="m">Second</li>
  <li id="m">Third</li>
</ul>
   <div style="display:none"> 
<div class="someclass">
     <li id="m">4</li>
    <p>text</p>
    </div>
<div class="someclass">
     <li id="m">5</li>
    <p>text</p>
    </div>
    <div class="someclass">
     <li id="m">6</li>
    <p>text</p>
    </div>
    </div>

和简单的脚本

$(document).ready(function(){
     $('#4').clone().insertAfter($('#m3'));
     $('#5').clone().insertAfter($('#4'));
     $('#6').clone().insertAfter($('#5'));
});

正如您所看到的,存在很大的问题 - ids 中的重复 :( 我无法为<li>脚本中的元素生成 ids,因为菜单加载在 header.phtml 文件中,<div>内容在 footer.phtml 中,所以我不知道我需要多少 ids(这就是为什么我无法使用 php 获取菜单项 - 忘记标准“从 db 获取”它的 Zend ...)。也许我需要生成或只是获取一些“数组”?

如果有任何帮助,我将不胜感激!

4

1 回答 1

0

您可以选择所有li内部.someclass元素,克隆它们并添加到新创建ul的 ,然后将其添加到body.

小提琴

$(document).ready(function()
{
    var ul = $('<ul>', { id: "menu" });
    ul.append($('.someclass li').clone());
    $("body").append(ul);
});
于 2014-09-10T17:42:46.717 回答