如何使用jQuery在每个h3下拆分内容?

如何使用jQuery在每个h3下拆分内容?,jquery,split,css-selectors,Jquery,Split,Css Selectors,我有一个html的和平,看起来像这样: <h3>PETIT DEJEUNER</h3> <p>FRANS ONTBIJT</p> <p>CROISSANT</p> <p>CROISSANT</p> <h3>AUTRE PETIT DEJEUNER</h3> <p>FRANS ONTBIJT</p> <p>CROISSANT</p>

我有一个html的和平,看起来像这样:

<h3>PETIT DEJEUNER</h3>
<p>FRANS ONTBIJT</p>
<p>CROISSANT</p>
<p>CROISSANT</p>

<h3>AUTRE PETIT DEJEUNER</h3>
<p>FRANS ONTBIJT</p>
<p>CROISSANT</p>
<p>CROISSANT</p>

<h3>AND ONE MORE DEJEUNER</h3>
<p>FRANS ONTBIJT</p>
<p>CROISSANT</p>
<p>CROISSANT</p>
menu = [
    {
        title: 'PETIT DEJEUNER',
        contents: [<p contents>,<p contents>,<pcontents>]
    },
    {
        title: 'AUTRE PETIT DEJEUNER',
        contents: [<p contents>,<p contents>,<pcontents>]
    },
]
PETIT DEJEUNER
弗朗斯·翁特比特

牛角面包

牛角面包

小德琼纳酒店 弗朗斯·翁特比特

牛角面包

牛角面包

还有一个DEJEUNER 弗朗斯·翁特比特

牛角面包

牛角面包

当然,内容各不相同。不幸的是,我不控制html,它是从另一个源交付的。我可以在每个h3拆分内容,创建如下集合:

<h3>PETIT DEJEUNER</h3>
<p>FRANS ONTBIJT</p>
<p>CROISSANT</p>
<p>CROISSANT</p>

<h3>AUTRE PETIT DEJEUNER</h3>
<p>FRANS ONTBIJT</p>
<p>CROISSANT</p>
<p>CROISSANT</p>

<h3>AND ONE MORE DEJEUNER</h3>
<p>FRANS ONTBIJT</p>
<p>CROISSANT</p>
<p>CROISSANT</p>
menu = [
    {
        title: 'PETIT DEJEUNER',
        contents: [<p contents>,<p contents>,<pcontents>]
    },
    {
        title: 'AUTRE PETIT DEJEUNER',
        contents: [<p contents>,<p contents>,<pcontents>]
    },
]
菜单=[
{
标题:“小德琼纳”,
目录:[

,] }, { 标题:“AUTRE PETIT DEJEUNER”, 目录:[

,] }, ]

我正在使用jQuery。谢谢

您可以组合和匹配
元素之间的段落,并使用来构建数组:

var menu = $("h3").map(function() {
    var $this = $(this);
    return {
        title: $this.text(),
        contents: $this.nextUntil("h3").filter("p").map(function() {
            return $(this).text();
        }).get();
    };
}).get();
var菜单=[];
$(《小德琼纳》和《小德琼纳》分别是《小德琼纳》和《小德琼纳》
.filter('h3')
.each(函数({
菜单。推({
标题:$(this).text(),
内容:$(this).nextUntil('h3').map(函数(){
返回$(this.text();
}).get()
});
});

太好了,正是我想要的!Tnx!