Reputation: 717
I have several tables with the same class, and each has 2 rows. I want to give the td elements in each table in the second row a certain class, but the way I do it only does it for the first table, and I don't know why.
$('#main table.asseenin_table tr:eq(1) td').addClass('asi_second');
Only the td elements in the second row in the FIRST table get the class, other tables do not.
<table class="asseenin_table">
<tr>
<td><a href="#"><img src="images/asseenin/1.jpg" /></a></td>
<td><a href="#"><img src="images/asseenin/2.jpg" /></a></td>
<td><a href="#"><img src="images/asseenin/3.jpg" /></a></td>
<td><a href="#"><img src="images/asseenin/4.jpg" /></a></td>
<td><a href="#"><img src="images/asseenin/5.jpg" /></a></td>
</tr>
<tr>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
</tr>
</table>
<table class="asseenin_table">
<tr>
<td><a href="#"><img src="images/asseenin/6.jpg" /></a></td>
<td><a href="#"><img src="images/asseenin/7.jpg" /></a></td>
<td><a href="#"><img src="images/asseenin/8.jpg" /></a></td>
<td><a href="#"><img src="images/asseenin/9.jpg" /></a></td>
<td><a href="#"><img src="images/asseenin/10.jpg" /></a></td>
</tr>
<tr>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
<td>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
<a href="#"><img src="images/asseenin/thumbs/thumb.jpg" /></a>
</td>
</tr>
</table>
Upvotes: 1
Views: 248
Reputation: 39
Maybe like this: (change "#" for this "." - ofcourse add class to table and remove id)
$('.main table.asseenin_table tr:eq(1) td').addClass('asi_second');
Upvotes: -1
Reputation: 5910
As documentation at http://api.jquery.com/eq/ says: Description: Reduce the set of matched elements to the one at the specified index.
So after :eq(1)
you only have one elements.
To solve your problem use :nth-child()
(http://api.jquery.com/nth-child-selector/):
$('#main table.asseenin_table tr:nth-child(1) td').addClass('asi_second');
Upvotes: 1
Reputation: 148160
Try using :last-child
instead of eq
$('#main table.asseenin_table tr:first-child td').addClass('asi_second');
Upvotes: 1