首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:为每组4个元素在第4个元素之后添加元素

jQuery:为每组4个元素在第4个元素之后添加元素
EN

Stack Overflow用户
提问于 2017-11-07 17:19:22
回答 2查看 962关注 0票数 0

嗨,我使用的是引导4网格,我试图用jquery在第4个元素之后插入一个产品缩放(使用ajax),但这取决于用户单击的每组4个元素的位置。

代码语言:javascript
复制
<div class="row" id="products">
 <div class="col-4">product 1</div>
 <div class="col-4">product 2</div>
 <div class="col-4">product 3</div>
 <div class="col-4">product 4</div>
 <div class="col-4">product 5</div>
 <div class="col-4">product 6</div>
 <div class="col-4">product 7</div>
 <div class="col-4">product 8</div>
 <div class="col-4">product 9</div>
 <div class="col-4">product 10</div>
 <div class="col-4">product 11</div>
 <div class="col-4">product 12</div>
</div>

例如:

如果用户单击产品1、2、3或4,我希望在产品4之后插入缩放div

代码语言:javascript
复制
<div class="row" id="products">
 <div class="col-4">product 1</div>
 <div class="col-4">product 2</div>
 <div class="col-4">product 3</div>
 <div class="col-4">product 4</div>
 <div class="col-12">product zoom</div>
 <div class="col-4">product 5</div>
 <div class="col-4">product 6</div>
 <div class="col-4">product 7</div>
 <div class="col-4">product 8</div>
 <div class="col-4">product 9</div>
 <div class="col-4">product 10</div>
 <div class="col-4">product 11</div>
 <div class="col-4">product 12</div>
</div>

如果用户单击产品5、6、7或8,我希望在产品8之后插入缩放div 。

代码语言:javascript
复制
<div class="row" id="products">
 <div class="col-4">product 1</div>
 <div class="col-4">product 2</div>
 <div class="col-4">product 3</div>
 <div class="col-4">product 4</div>
 <div class="col-4">product 5</div>
 <div class="col-4">product 6</div>
 <div class="col-4">product 7</div>
 <div class="col-4">product 8</div>
 <div class="col-12">product zoom</div>
 <div class="col-4">product 9</div>
 <div class="col-4">product 10</div>
 <div class="col-4">product 11</div>
 <div class="col-4">product 12</div>
</div>

如果用户单击产品9、10、11或12,我想在产品12之后插入缩放div 等等。

我怎么能做到这一点呢?

我不需要ajax的帮助,没有问题。谢谢大家的任何帮助,您可以提供!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-07 17:39:14

这应该可以做到:

代码语言:javascript
复制
var cols = $('#products .col-4');
cols.click(function(){
    var el = $(this);
    // Get clicked element index
    var index = el.index();
    // Check in which "group" it belongs
    var group = Math.ceil(index / 4);
    // Insert what you want after the last item of that group
    $(cols.get((group * 4) - 1)).after('<div class="col-12">product zoom</div>');
});
票数 2
EN

Stack Overflow用户

发布于 2017-11-07 17:28:33

尝试使用jQuery和CSS选择器:nth-child在每4项之后插入:

$('.col-4:nth-child(4n)').after('<div class="col-12">product zoom</div>');

参考https://api.jquery.com/nth-child-selector/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47163817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档