Jquery 具有2行和无限列的多个div

Jquery 具有2行和无限列的多个div,jquery,html,Jquery,Html,我有10个div来自JSON数据,我想在每2个div之后添加一个div。 我的HTML代码是这样的 <div class="imgs"> <div class="fixed">1</div> <div class="fixed">2</div> <div class="fixed">3</div> <div class="fixed">4</div>

我有10个div来自JSON数据,我想在每2个div之后添加一个div。 我的HTML代码是这样的

<div class="imgs">
    <div class="fixed">1</div>
    <div class="fixed">2</div>
    <div class="fixed">3</div>
    <div class="fixed">4</div>
    <div class="fixed">5</div>
    <div class="fixed">6</div>
    <div class="fixed">7</div>
    <div class="fixed">8</div>
    <div class="fixed">9</div>
    <div class="fixed">10</div>
</div>
可以这样将父div中的div分组吗

<div class="imgs"> 
    <div class="set">
        <div class="fixed">1</div>
        <div class="fixed">2</div>
    </div>
    <div class="set">
        <div class="fixed">3</div>
        <div class="fixed">4</div>
    </div>
  ...
</div>
您尚未发布JSON,因此此解决方案可以在您提供的HTML上运行

您需要选择div.fixed,将它们分成两块,创建每个div.set,将这些元素移动到其中,然后将其放入.imgs中。您不需要清除这些div的.img,因为append实际上会将每个项从原来的位置移动到您指定的位置

$(function(){
    $('.imgs').each(function(){
        var $imgs=$(this);
        var $children=$(this).children();
        var $chunks=chunk($children, 2);
        $.each($chunks, function(){
            $('<div class="set">').append(this).appendTo($imgs);
        });
    });
});

function chunk (arr, len) {
  var chunks = [],
      i = 0,
      n = arr.length;
  while (i < n) {
    chunks.push(arr.slice(i, i += len));
  }
  return chunks;
}
更简单的方法:

while($('.imgs > .fixed').length) {
    $('.imgs > .fixed:lt(2)').wrapAll('<div class="set">');
}
或:


你尝试了什么?研究了很多网站,但我没有得到任何答案。发布一些你尝试过的代码。提示:使用wrap函数。你搞定了。。。。非常感谢……:非常感谢你…这更简单。。。太棒了非常感谢
while($('.imgs > .fixed').length) {
    $('.imgs > .fixed:lt(2)').wrapAll('<div class="set">');
}
$('.imgs .fixed:even').each( function() {
   $(this).next().addBack().wrapAll('<div class="set">'); 
});