如何使用jquery关闭当前ul并启动新ul


How can I close current ul and start new ul using jquery?

请参阅下面的代码:有一个使用PHP代码动态生成的ul跨度。在第二个跨度之后,我关闭当前的ul并开始新的ul。如何使用jquery完成此操作?

<ul class="menutop" id="menutop">
  <span id="show_dynamic_0">    
    <li class="item1 active root" id="item1 active root">
      <a id="a-1309599451911317" class="orphan item bullet" href="http://localhost/health_phase2/">
        <span>Home</span>
      </a>
    </li>
  </span> 
  <span id="show_dynamic_1">    
    <li class="item2 root" id="item2 root">
      <a id="a-1309599451912733" class="orphan item bullet" href="/health_phase2/index.php">
        <span>News Feed</span>
      </a>
    </li>
  </span> 
  <!--Here I want to end menutop ul. After than start new ul. Means end current ul and start new ul --> 
  <!-- </ul><ul>  -->
  <span id="show_dynamic_2">    
    <li class="item6 root" id="item6 root">
      <a id="a-1309599451912287" class="orphan item bullet" href="/health_phase2/index.php?option=com">
        <span>Video</span>
      </a>
    </li>
  </span> 
  <span id="show_dynamic_3">    
    <li class="item7 root" id="item7 root">
      <a id="a-1309599451913684" class="orphan item bullet" href="/health_phase2/index.php?option=com_content">
        <span>Interviews</span>
      </a>
    </li>
  </span> 
</ul>

您可以detach index > 1之后的元素,将它们包装在<ul>中,并将它们插入前一个<ul>:之后

$('#menutop > span:gt(1)').detach().wrapAll('<ul />').parent().insertAfter("#menutop");

示例:http://jsfiddle.net/niklasvh/eWVvQ/

您可以这样做:

$("#menutop").after( $("<ul/>").append($("#show_dynamic_1").nextAll()) );

它的作用如下:
-创建新ul
-"剪切"#show_dynamic_1之后的跨度,并将其插入创建的ul中
-在#menutop ul之后插入新的ul。

希望这能有所帮助。干杯

我认为这不是HTML代码中应有的方式。首先,您不需要将<li>的包装在<span>的包装中。

这个变通方法是什么?

如果您遍历PHP中的数组或JavaScript中的对象,可以说您希望在第二个和第三个<span>之间呈现</ul><ul>