Javascript 纯jquery方法,用于包装每个9 img';他在一个房间里

Javascript 纯jquery方法,用于包装每个9 img';他在一个房间里,javascript,jquery,Javascript,Jquery,我有一个div,其中包含一定数量的img。比如说21。我想做的是每9个img绕一个div。我怎样才能做到这一点 我的html结构: <div id="parent"> <img src="#"> <img src="#"> <img src="#"> <img src="#"> <img src="#"> <img src="#"> <img src="#">

我有一个div,其中包含一定数量的img。比如说21。我想做的是每9个img绕一个div。我怎样才能做到这一点

我的html结构:

<div id="parent">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
   <img src="#">
</div>

应成为:

<div id="parent">
   <div>
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
   </div>
   <div>
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
      <img src="#">
   </div>
</div>

您可以执行以下操作:

var $img = $("#parent img");
for (var i = 0; i < $img.length; i += 9) {
    $img.slice(i, i + 9).wrapAll("<div/>");
}
var$img=$(“#父img”);
对于(变量i=0;i<$img.length;i+=9){
$img.slice(i,i+9).wrapAll(“”);
}

这不是纯粹的jQuery,而是有效的:

html:


js:

var$images=[];
$('#parent').children().each(函数(索引,值){
$images.push(这个);
});
$('#parent').children().each(函数(索引,值){
$(this.remove();
});
$('#parent').ready(函数(){
write();
});
函数写入(){
var计数器=0;
$(“#父项”)。追加(“”);
$($图像)。每个(函数(索引、值){
如果(计数器==2){
$(“#父项”)。追加(“”);
计数器=0;
}
$('#parent')。追加($(this)+计数器);
如果(索引==$images.length){
$(“#父项”)。追加(“”);
}
计数器+=1;
});
}

这正是我需要的!非常感谢。
<div id="parent">

<img src="" class="image"/>
<img src="" class="image"/>
<img src="" class="image"/>
<img src="" class="image"/>
<img src="" class="image"/>
<img src="" class="image"/>
var $images = [];
$('#parent').children().each(function(index, value){
$images.push(this);
});
$('#parent').children().each(function(index, value){
$(this).remove();
});

$('#parent').ready(function(){
write();
});

function write() {
var counter = 0;

$('#parent').append('<div class="innerDiv">');
$($images).each(function(index, value){
    if (counter == 2) {
        $('#parent').append('</div><div class="innerDiv">');
        counter = 0;
    }

    $('#parent').append($(this) + counter);

    if (index == $images.length) {
        $('#parent').append('</div>');
    }
    counter += 1;
});
}