我有以下html:
<div class="block"></div>
<div class="block first"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block">this</div> // I need to target this to add another class
<div class="block"></div>
我想先从&#34;块中选择第3个&#34; DIV:
$(".block.first").eq(3).addClass("last");
当然我错过了一些东西。 &#34;第一&#34; class被动态地添加到&#34; block&#34; div和我需要从第一个&#34;第一个&#34;类被添加。有意见的人吗?谢谢!
答案 0 :(得分:1)
要实现此目的,您可以获取.block.first
元素的索引,然后在此之后选择元素3。试试这个:
var blockFirstIndex = $('.block.first').index();
$('.block').eq(blockFirstIndex + 2).addClass('foo');
.foo { color: #c00; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="block">block</div>
<div class="block first">block first</div>
<div class="block">block</div>
<div class="block">block</div>
<div class="block">this // I need to target this to add another class</div>
<div class="block">block</div>
答案 1 :(得分:1)
您可以使用$.fn.nextAll():
$('.block.first').nextAll('.block').eq(2).addClass('last');