Reputation: 2851
I am trying to place text in the 6th table cell of each row of my table. But all I am getting is the first row selected:
$('tbody tr:even td:eq(5)').each(function(){
$(this).text('$145');
});
What adjustment do I need to make?
Upvotes: 0
Views: 1598
Reputation: 12302
$( 'table tr' ).each( function() {
$(this).find( 'td' ).eq(5).text('$145');
});
UPDATE
Since the accepted anwser does the same thing but using the :eq()
selector instead of the .eq()
method, it's worth reading the additional notes on the jQuery DOCs for the eq selector:
Because :eq() is a jQuery extension and not part of the CSS specification, queries using :eq() cannot take advantage of the performance boost provided by the native DOM querySelectorAll() method. For better performance in modern browsers, use $("your-pure-css-selector").eq(index) instead.
So I think it's advisable to use the .eq()
method instead of the :eq()
selector.
Upvotes: 3
Reputation: 253308
I think that the following should work:
$('tbody tr').each(
function(){
$(this).find('td:eq(5)').text('$145');
});
Reference:
Upvotes: 4