所有Paragrahps在一个分区
All Paragrahps in One Div
如您所知,Wordpress自动生成帖子的html,如下所示:
<h2>Heading Example</h2>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<h3>Heading Example</h3>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<h3>Heading Example</h3>
但我想把标题之间的所有段落放在一个div中,如下所示:
<h2>Heading Example</h2>
<div class="paragraphblock">
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
</div>
<h3>Heading Example</h3>
<div class="paragraphblock">
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
</div>
<h3>Heading Example</h3>
我该怎么做?
在each()
循环中使用nextUntil()
和wrapAll()
。
$('h2,h3').each(function(){
$(this).nextUntil(':not(p)').wrapAll('<div>');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<h2>Heading Example</h2>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<h3>Heading Example</h3>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<h3>Heading Example</h3>
另一种选择。
$('h2,h3,p').each(function(){
console.log(this.tagName)
if(this.tagName == 'H2' || this.tagName == 'H3'){
$div = $('<div>');
$(this).after($div);
} else {
$div.append(this);
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<h2>Heading Example</h2>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<h3>Heading Example</h3>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<p>Text here</p>
<h3>Heading Example</h3>
相关文章:
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何在单击按钮时显示一个分区,同时隐藏另一个分区
- D3.js:将一个有响应的饼图放在其父分区的中心
- 所有Paragrahps在一个分区
- Jquery.每个分区通过另一个分区内的分区
- 如何获取页面上所有图像的来源,然后将它们全部放在一个分区中
- 将选中的复选框复制到另一个分区中
- 如何在单击图像时在另一个分区中显示相关内容
- 正在获取另一个分区中的span内容
- 如何将ngRepeat内容复制到另一个分区中
- jQuery-在一个分区中查找第一个具有特定ID的分区
- 通过在另一个分区的谷歌地图信息窗口上单击按钮来更改分区的内容
- 将一个分区捕捉到另一个分区
- 导航到外部html页面的一个分区
- 在网页上一次只打开一个分区的脚本
- 如何将一个分区的多个画布内容保存为png图像
- 抓取最近的上一个分区的内容
- 将一个分区的子元素与所有关联的事件一起复制到另一个分区
- 将高度添加到另一个分区
- 如果焦点在下一个分区,则取消focusout事件