请参阅下面的代码:使用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>
答案 0 :(得分:1)
您可以detach
index > 1
之后的元素,将它们包装在<ul>
中并将它们插入上一个<ul>
之后:
$('#menutop > span:gt(1)').detach().wrapAll('<ul />').parent().insertAfter("#menutop");
答案 1 :(得分:0)
你可以这样做:
$("#menutop").after( $("<ul/>").append($("#show_dynamic_1").nextAll()) );
它的作用如下:
- 创建一个新的ul
- “剪切”#show_dynamic_1之后的跨度并将它们插入到创建的ul中
- 在#menut ul。
希望这会有所帮助。干杯
答案 2 :(得分:0)
我认为这不是HTML代码中应该存在的方式。首先,您不需要在<li>
中包装<span>
。
......这个解决方法是什么?
如果您浏览PHP中的数组或JavaScript中的对象,可以说您希望在第2个和第3个</ul><ul>
之间呈现<span>
。