JQuery - Iterate over subset of tds starting from found class
I'm looking for a more convenient jquery / clean way to be able to select everything td.some-class
and be able to start with 'selected' and apply some for subsequent tds.
<table>
<tr>
<td class='some-class'>A</td>
<td class='some-class'>B</td>
<td class='some-class'>C</td>
</tr>
<tr>
<td class='some-class'>A1</td>
<td class='some-class'>B2</td>
<td class='some-class selected'>C3</td>
</tr>
<tr>
<td class='some-class'>A21</td>
<td class='some-class'>B22</td>
<td class='some-class'>C23</td>
</tr>
The current way I am doing is very similar:
found = false;
$('td.some-class').each(function(){
if ($(this).hasClass('selected')){
found = true;
}
if (found){
# do something
}
});
+3
source to share
2 answers
My attempt (this is more efficient than @suhair):
var all = $('#xTable .some-class');
var selected = all.filter('.selected')[0];
var selectedIndex = all.index(selected);
var after = all.filter(':gt(' + selectedIndex + ')');
@suhair Updated DEMO
+1
source to share