根据索引将类添加到每个子div

时间:2019-03-27 16:13:06

标签: jquery

我需要定位并向具有特定类的 all 元素的第n个子类添加一个类(即“ -show”)。第n个孩子必须采用变量形式(即:nth-​​child(i))。

我尝试使用eq(),但它似乎只影响所选类的第一个元素的孩子。

jQuery('.text-wrapper > div').eq(1).addClass('-show');

也尝试合并each(),但没有任何运气:

jQuery('.text-wrapper > div').eq(1).each(function(){ jQuery(this).addClass('-show'); });

我正在寻找的结果是:

<div class="text-wrapper">
  <div></div>
  <div class="-show"></div>
</div>

<div class="text-wrapper">
  <div></div>
  <div class="-show"></div>
</div>

1 个答案:

答案 0 :(得分:4)

:nth-child(2)应该这样做:

$(".text-wrapper > *:nth-child(2)").addClass("-show");
.-show {
  color: green;
}
<div class="text-wrapper">
  <div>first</div>
  <div>second</div>
</div>

<div class="text-wrapper">
  <div>first</div>
  <div>second</div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

.eq不起作用,因为它只是在jQuery集合中的给定索引处获取元素。