【发布时间】:2012-04-10 19:34:15
【问题描述】:
我有这个 HTML:
<ul>
<div>
<li>a</li>
<li>b</li>
<li class="break">c</li>
<li>d</li>
<li>f</li>
</div>
</ul>
我想要的是 class="break" 我希望父 div 关闭并打开一个新的,所以我最终得到这个:
<ul>
<div>
<li>a</li>
<li>b</li>
</div>
<div>
<li>c</li>
<li>d</li>
<li>f</li>
</div>
</ul>
现在我已经尝试过了:
$(".break").before("</div><div>");
但是 jQuery 并没有像我期望的那样运行,而是重写了我输入的内容并放置了一个空的 div。像这样:
<ul>
<div>
<li>a</li>
<li>b</li>
<div></div>
<li class="break">c</li>
<li>d</li>
<li>f</li>
</div>
</ul>
那么我怎样才能达到我所追求的目标呢?
【问题讨论】:
-
我认为
<ul>中的<div>不是有效的html -
@andreas 说的是真的,ul 中的 div 无效。而不是这样做,你想要达到的最终目标是什么。将 li 分列?
-
目的是将它们分成列。问题是我展示的菜单是一个非常简化的菜单,而真正的菜单包含很多层。
-
如果
div不可行,我很乐意接受关闭</ul>然后重新打开<ul>
标签: jquery html dom-manipulation