我有一个 h5 的列表:
<div id="accordion"><h5>One</h5>
<p>Lorem ipsum dolor sit amet</p>
<h5>Two</h5>
<p>Lorem ipsum dolor sit amet.</p>
<h5>Three</h5>
<p>Lorem ipsum dolor sit amet</p>
<h5>Four</h5>
<p>Lorem ipsum dolor sit amet</p>
<h5>Five</h5>
<p>Lorem ipsum dolor sit amet</p></div>
我想使用 jQuery UI 手风琴将它们变成手风琴,它将第一个元素作为包含,所以我想在每个 h5 之间包装内容。如果我使用 .after() 和 .before() 它会同时获取 的结束标签和开始标签,</h5>
我也不知道如何让第一个元素不在其上方插入结束标签:
到目前为止我所拥有的显然不起作用:
var insert = true;
$("#accordion h5").each(function(event) {
// All of them have a div immediatly after it.
$(this).after("<div>");
if (insert === true) {
insert = false;
} else {
$(this).before("</div>");
}
});
澄清一下,我的输出我想看起来像这样,但并不总是有 p 标签,因为它可以是任何内容。
<div id="accordion">
<h5>One</h5>
<div><p>Lorem ipsum dolor sit amet</p></div>
<h5>Two</h5>
<div><p>Lorem ipsum dolor sit amet.</p></div>
<h5>Three</h5>
<div><p>Lorem ipsum dolor sit amet</p></div>
...
</div>