更改每个子元素的顶部样式

时间:2018-08-08 14:08:52

标签: javascript jquery

我有一个div,该div的孩子会随用户选择而变化。我遍历这些元素并使用jquery更改顶部位置,如下所示:

var top = 0;

$('.shareBtn').each(function(index, item) {
  top += 66;    
  console.log(top, item, index);

  $(item).eq(index).css("top", top + "px");
})

但是,这仅将top: 66px附加到第一个元素。如何为每个项目附加顶部样式+66px

在评论中,我发现我的查询不够清楚。我想为每个循环计数的每个项目添加66px。

因此,如果循环索引为0,1,2,我想看到这样的顶部样式:

<div class="shareBtn" style="top: 0;"></div>
<div class="shareBtn" style="top: 66px;"></div>
<div class="shareBtn" style="top: 132px;"></div>

1 个答案:

答案 0 :(得分:1)

您已经在呼叫.each()-在为它建立索引时,您正在将目标特别定位。

var top = 0;

$('.shareBtn').each(function(index, item){
  top += 66;

  console.log(top, item, index);

  $(this).css("top", top + "px");
})

https://jsfiddle.net/47fdz9mc/