1

这是我的表格格式。

<table id="table1">
 <tr id="row_1">
  <th>Some Heading</th>
  <td class="t1"></td>
  <td class="t2"></td>
  <td class="t3"></td>
  <td class="t4"></td>
 </tr>
 <tr id="row_2">
  <th>Some Heading</th>
  <td class="t1"></td>
  <td class="t2"></td>
  <td class="t3"></td>
  <td class="t4"></td>
 </tr>
 etc...
</table>

如何使用 jQuery 更新单独的表格单元格 (td) 的内容?如果我想更新#row_1 cell 1 或#row_2 cel 4 等的内容,更好的表达方式是如何编写它?

我有另一个表,我可以毫无问题地更新数据,但它也简单得多。它每行只有一个表格单元格需要更新内容。我用这个做到了。

$('#val_' + i).html("stuff I put in it");

每个单元格都有一个唯一的 id - #val_ + 一些标识它的数字,因此我可以轻松地循环遍历它,但是稍微复杂的表格给我带来了麻烦。

4

2 回答 2

1
$('#table1').children('tr').each(function() {

    // where 'x' is the index of the <td> to target
    var $requiredCell = $(this).children('td').eq(x);

    doStuff( $requiredCell );

});

或者,如果您只是针对单个单元格

$('#row_1 td.t1');

或者

$('#row_1 td').first(); // If you can't use the classes...

或者

$('#row_1 td').eq(x); // for targeting a td at an arbitrary index 'x'

例如(从你的问题):

$('#row_1 td').eq(3); // target the fourth <td>. Note index is 0-based
于 2013-02-10T21:10:13.830 回答
0

要获得所有 tds,您可以使用类似这样的东西。

$("#row_1").find('td').each {function() {
  // do something
});

要获得特定的 td,您可以这样做:

$('#row_1 .t1').something();
于 2013-02-10T21:02:25.873 回答