Reputation: 1693
ok i have the following:
<div class="row">
<div class="test">02/12/2013</div>
<div class="test">03/12/2013</div>
<div class="test">04/12/2013</div>
<div class="test">05/12/2013</div>
<div class="class1">06/12/2013</div>
<div class="test"><07/12/2013/div>
<div class="test">08/12/2013</div>
<div class="test">09/12/2013</div>
<div class="test">10/12/2013</div>
</div>
<div class="row">
<div class="test">11/12/2013</div>
<div class="test">12/12/2013</div>
<div class="test">13/12/2013</div>
<div class="test">14/12/2013</div>
<div class="test">15/12/2013</div>
<div class="test">16/12/2013</div>
<div class="class2">17/12/2013</div>
<div class="test">18/12/2013</div>
<div class="test">19/12/2013</div>
<div class="test">20/12/2013</div>
<div class="test">21/12/2013</div>
</div>
In this case class1 and class2 are added dynamiclly using angularJS so how do i go about counting how many divs with a class of test there are between the two divs class1 class2?
Upvotes: 1
Views: 74
Reputation: 3080
You mean something like this?
$(function(){
var $class1 = $('.class1');
var $class2 = $('.class2');
var $afterClass1 = $class1.nextAll('.test');
var $beforeClass2 = $class2.prevAll('.test');
var count = $afterClass1.length + $beforeClass2.length;
$('.count').html(count);
});
Edit: Better visualization http://jsfiddle.net/SAsty/3/
Edit 2:
Do something like:
var $allBetween = $afterClass1.add($beforeClass2);
$allBetween.addClass('between');
Upvotes: 3
Reputation: 27022
Maybe something like this?
$divs = $('.row div');
var count = $divs.index($('.class2')) - $divs.index($('.class1')) - 1;
Upvotes: 0