如何用jQuery选择和更改表格单元格的值?

时间:2011-01-19 15:58:30

标签: jquery css-selectors

如何使用jQuery更改HTML示例中包含'c'字母的单元格的内容?

<table id="table_header">
<tr>
   <td>a</td>
   <td>b</td>
   <td>c</td>
</tr>
</table>

感谢。

6 个答案:

答案 0 :(得分:25)

$("td:contains('c')").html("new");

或更准确地说$("#table_headers td:contains('c')").html("new");

并且可能为了重复使用,您可以创建一个函数来调用

function ReplaceCellContent(find, replace)
{
    $("#table_headers td:contains('" + find + "')").html(replace);
}

答案 1 :(得分:13)

使用eq(),您可以定位表格中的第三个单元格:

$('#table_header td').eq(2).html('new content');

如果您想定位每行每个第三个​​单元格,请使用nth-child-selector

$('#table_header td:nth-child(3)').html('new content');

答案 2 :(得分:9)

您可以使用CSS selectors

根据您获得该ID的方式,您可以给它一个id:

<td id='cell'>c</td>

然后使用:

$("#cell").text("text");

或遍历table_header的第一行的第三个单元格等。

答案 3 :(得分:1)

我一直在寻找改变第二行的HTML,你可以做级联选择器

$('#tbox1 tr:nth-child(2) td').html(11111)

答案 4 :(得分:1)

我想更改特定行中的列值。由于上述答案 并在下面提出了一些建议之后,

var dataTable = $("#yourtableid");
var rowNumber = 0;  
var columnNumber= 2;   
dataTable[0].rows[rowNumber].cells[columnNumber].innerHTML = 'New Content';

答案 5 :(得分:-3)

你可以这样做:

<table id="table_header">
<tr>
   <td contenteditable="true">a</td>
   <td contenteditable="true">b</td>
   <td contenteditable="true">c</td>
</tr>
</table>