Jquery操纵表格单元格

时间:2013-11-28 08:35:26

标签: jquery tablecell

感谢这个例子:Changing table cell contents

如果表单元格超过1列且单元格中没有内容,如何更改表格单元格。

例如,更改第2列中的第3个单元格?

<table width="200" border="1">
  <tr>
    <th scope="col">Daten 1</th>
    <th scope="col">Daten 2</th>
    <th scope="col">Daten 3</th>
  </tr>
  <tr>
    <td id="A1">1</td>
    <td id="B1">1</td>
    <td id="C1">&nbsp;</td>
  </tr>
  <tr>
    <td id="A2">2</td>
    <td id="B2">2</td>
    <td id="C2">&nbsp;</td>
  </tr>
  <tr>
    <td id="A3">3</td>
    <td id="B3">3</td>
    <td id="C3">&nbsp;</td>
  </tr>
  <tr>
    <td id="A4">4</td>
    <td id="B4">4</td>
    <td id="C4">&nbsp;</td>
  </tr>
</table>

4 个答案:

答案 0 :(得分:0)

您正在寻找:nth-child选择器。与它所基于的CSS选择器非常相似,nth-child(i)采用基于1的索引。

$('table tr:nth-child(2) td:nth-child(3)').html('changed');

Here is a Fiddle证明了这一点。

答案 1 :(得分:0)

要选择第二列中的第三个单元格,这意味着您必须先选择第三行,然后选择第二列。在你的桌子上试试这个jquery选择器

$('#data tr:nth-child(3) td::nth-child(2))

甚至更好

$('#data').find('tr:nth-child(3)').find('td::nth-child(2)')

即使这可能不是获取表格单元格的最佳方法。

建议:如果你可以根据每个表格单元格的索引给出一些id,那么很容易计算id并使用$('#cellId_23')

每个单元格都有唯一的ID。例如:Cell(1,1)可以具有类似cell_11的id,而Cell(1,2)可以具有cell_12,依此类推。

这比两个选择器的性能要好得多。

答案 2 :(得分:0)

您也可以使用eq()方法从0索引开始查找td。

var value = $('#table_id').find("td").eq(5).html();

答案 3 :(得分:0)

之类的,

jQuery(document).ready(function(){
    var t = document.getElementById('data');
    jQuery(t.rows[1].cells[2]).text('1st row last C'); 
    jQuery(t.rows[2].cells[2]).text('2nd row last C'); 

});

直播Demo