【发布时间】:2021-07-31 04:08:16
【问题描述】:
我正在尝试根据元素的迭代次数创建一组 div。
创建的元素是一个图像,根据页面的不同,服务器会生成一个可变数字,包含在父 div 中。
HTML 是:
<div id="thumbImageList">
<div class="thumbSlides"> //parent div
<div class="col-3 col-md-3"> //child div that is generated
<a href="#">
<img src="img1.png">
</a>
</div>
<div class="col-3 col-md-3"> //child div that is generated
<a href="#">
<img src="img2.png">
</a>
</div>
// Child Div repeated per number of images available.
</div>
</div>
Child div 需要分成不超过 4 个的组。我打算用 JS 来做这个,可能使用数组,但到目前为止还没有任何工作。
编辑: 需要明确的是,模板化的代码是:
<div id="thumbImageList">
//parent div
<div class="thumbSlides">
[%THUMBNAILS%]
[%param *body%]
//child div that is reproduced per the number of images available.
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]">
<img src="[@thumb_image@]" class="img-fluid product-image-small">
</a>
</div>
[%/ param%]
[%/ THUMBNAILS%]
</div>
</div>
模板由服务器解析,然后使用上面提供的 HTML 结构将其交给浏览器。
4 个图像的集合旨在位于父 div 的新迭代中。所以结果是:
<div id="thumbImageList">>
<div class="thumbSlides">
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]1">
<img src="[@thumb_image@]1" class="img-fluid product-image-small">
</a>
</div>
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]2">
<img src="[@thumb_image@]2" class="img-fluid product-image-small">
</a>
</div>
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]3">
<img src="[@thumb_image@]3" class="img-fluid product-image-small">
</a>
</div>
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]4">
<img src="[@thumb_image@]4" class="img-fluid product-image-small">
</a>
</div>
</div>
<div class="thumbSlides">
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]5">
<img src="[@thumb_image@]5" class="img-fluid product-image-small">
</a>
</div>
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]6">
<img src="[@thumb_image@]6" class="img-fluid product-image-small">
</a>
</div>
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]7">
<img src="[@thumb_image@]7" class="img-fluid product-image-small">
</a>
</div>
<div class="col-3 col-md-3">
<a href="javascript:;" rel="[@full_image@]8">
<img src="[@thumb_image@]8" class="img-fluid product-image-small">
</a>
</div>
</div>
</div>
更新: 多亏了亨利·曼努埃尔的投入,我设法创建了所需的 div。使用以下内容:
var w = document.getElementById('thumbImageList');
var n = w.childElementCount / 4;
for(var i=0; i<n; i++){
$("#thumbImageList").append(
'<div class="thumbSlides">'
);
};
现在,据我所知,我需要将子 div 放入新的父母中。
【问题讨论】:
-
不是sn-ps的代码,可以提供minimal reproducible example吗?
标签: javascript arrays sorting