为数组中的每两个div添加两个相同的图像

m0rkklqb  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(313)

我有一个图像数组和一个div数组。我想为前两个div添加相同的图像,为第三个和第四个div添加数组中的第二个图像,并重复几次。下面的代码可以完成这项工作,但是否有更简单的方法来完成这项工作:

var images = [image1, image2, image3, image4,.....];
var allDivs = $('.div-images');

allDivs.slice(0, 2).append(images[0]);
allDivs.slice(2, 4).append(images[1]);
allDivs.slice(4, 6).append(images[2]);
allDivs.slice(6, 8).append(images[3]);
allDivs.slice(8, 10).append(images[4]);
oo7oh9g9

oo7oh9g91#

要动态实现逻辑,可以使用 forEach() 循环通过 images 数组。从那里,您可以使用循环的当前索引从中检索元素 $allDivs 在将值附加到这两个索引之前,在该索引处以及它的后续同级。试试这个:

var images = ['image1', 'image2', 'image3', 'image4', 'image5'];
var $allDivs = $('.div-images');

images.forEach((image, i) => $allDivs.eq(i * 2).next().addBack().append(image));
/* CSS for demo purposes only, to make the grouping clearer */
.div-images { 
  border: 1px solid #C00;
  border-bottom: 0;
  padding: 5px;
}

.div-images:nth-child(odd) {
  margin-bottom: 10px;
  border-bottom: 1px solid #C00;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="div-images"></div>
<div class="div-images"></div>
<div class="div-images"></div>
<div class="div-images"></div>
<div class="div-images"></div>
<div class="div-images"></div>
<div class="div-images"></div>
<div class="div-images"></div>
<div class="div-images"></div>
<div class="div-images"></div>

相关问题