我有正常文章内容的页面。我需要将一些标签包装成div。我可以用wrap()来做,但我怎么能够选择我不确定之间的所有标签。我必须使用正则表达式吗?我很可怕。
所以基本上现在标记是:
<h1>Title</<h1>
<p>Text....</p>
<p>Text....</p>
<h2>Title 2</h2>
<p>Text....</p>
<ul><li>List Text....</li</ul>
<p>Text....</p>
<img src="" />
<h2>Title</<h2>
<p>Text....</p>
<img src="" />
<p>Text....</p>
这就是我希望它:
<h1>Title</<h1>
<div class="wrap">
<p>Text....</p>
<p>Text....</p>
</div>
<h2>Title 2</h2>
<div class="wrap">
<p>Text....</p>
<ul><li>List Text....</li</ul>
<p>Text....</p>
</div>
<img src="" />
<h2>Title</<h2>
<div class="wrap">
<p>Text....</p>
</div>
<img src="">
<div class="wrap">
<p>Text....</p>
</div>
意味着所有标签之间和另一个标签应该包含在div中。这有可能吗?干杯!
编辑:我的标记第一次没有改动,所以我改了一下。答案 0 :(得分:1)
您可以使用nextUntil()
$('h2').each(function(){
$(this).nextUntil('h2, img').wrapAll('<div class="wrap">')
})
演示:Fiddle