使用jquery对元素进行分组

chr*_*ism 3 jquery

我有一大堆我需要分组的元素,但是因为它是一些我无法改变的机器,我需要使用jquery(我对它的基础知识非常熟悉)

基本上我在表单元素中有一堆p标签和div松散(是坏标记,但这是另一个故事).我需要将p标签与字段集中的以下一个或两个div组合在一起.

我已经尝试插入fieldset close然后在每个p元素之前开始标记,但我想将它排序的机器想要插入合法元素,这样就行不通了

Jos*_*lio 7

如果我理解正确,你有一个文件,其中标记看起来像这样:

<p>paragraph 1</p>
<div>par1 div1</div>
<div>par1 div2</div>
<p>paragraph 2</p>
<div>par2 div1</div>
<div>par2 div2</div>
<p>paragraph 3</p>
<div>par3 div1</div>
<p>paragraph 4</p>
<div>par4 div1</div>
Run Code Online (Sandbox Code Playgroud)

你想最终得到这样的东西:

<fieldset>
 <p>paragraph1</p>
 <div>par1 div1</div>
 <div>par1 div2</div>
</fieldset>
<fieldset>
 <p>paragraph2</p>
 <div>par2 div1</div>
 <div>par2 div1></div>
</fieldset>
.....
Run Code Online (Sandbox Code Playgroud)

如果是这种情况,那么这个jQuery代码片段就可以解决这个问题:

$(function(){   
    $('p').each(function(index,item){
      var nextDiv = $(item).next();
      var followingDiv = $(nextDiv).next('div');
      $(item).wrap("<fieldset id='fieldset" + index + "'></fieldset>");
      $("#fieldset"+index).append(nextDiv).append(followingDiv);
    });
});
Run Code Online (Sandbox Code Playgroud)