请参阅下面的代码:有一个使用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>
。