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?
I think that the following should work:
$('tbody tr').each(
function(){
$(this).find('td:eq(5)').text('$145');
});
Reference:
$( '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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.