如何使用 jquery 循环遍历表格以选择每行上的特定表格单元格?

发布于 2024-11-16 14:57:18 字数 189 浏览 2 评论 0原文

我试图将文本放置在表格每行的第六个表格单元格中。但我得到的只是选择的第一行:

$('tbody tr:even td:eq(5)').each(function(){
                $(this).text('$145');
            });

我需要进行哪些调整?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离笑几人歌 2024-11-23 14:57:18

我认为以下内容应该有效:

$('tbody tr').each(
function(){
    $(this).find('td:eq(5)').text('$145');
});

JS Fiddle demo

参考:

I think that the following should work:

$('tbody tr').each(
function(){
    $(this).find('td:eq(5)').text('$145');
});

JS Fiddle demo.

Reference:

回眸一遍 2024-11-23 14:57:18
$( 'table tr' ).each( function() {

  $(this).find( 'td' ).eq(5).text('$145');

});

更新

由于接受的 anwser 执行相同的操作,但使用 :eq() 选择器而不是 .eq() 方法,因此值得一读关于 eq 选择器 的 jQuery 文档的附加说明:

因为 :eq() 是 jQuery 扩展而不是 CSS 的一部分
规范中,使用 :eq() 的查询不能利用
原生 DOM querySelectorAll() 提供的性能提升
方法。为了在现代浏览器中获得更好的性能,请使用
$("your-pure-css-selector").eq(index) 代替。

所以我认为建议使用 .eq() 方法而不是 :eq() 选择器。

$( '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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文