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

33

如何使用jQuery更改包含“c”字母的单元格内容?

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

谢谢。

6个回答

33
$("td:contains('c')").html("new");
或者更精确地说, $(“#table_headers td:contains('c')”)。html(“new”);
并且为了重复使用,您可以创建一个函数来调用。
function ReplaceCellContent(find, replace)
{
    $("#table_headers td:contains('" + find + "')").html(replace);
}

1
有没有办法引用第三列而不是慢速字符串搜索? - abenci
4
当然,你可以执行$("#table_headers td:eq(2)").html("new"); - hunter
$("#table_headers td:last").html("new"); 请将此句话翻译成中文。 - hunter

17

使用eq()方法,您可以选中表格中的第三个单元格:

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

如果你想要选中每一行中每个第三个单元格,使用nth-child-selector选择器:

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

12
你可以使用CSS选择器
根据获取td的方式,你可以为其指定一个id:
<td id='cell'>c</td>

然后使用:
$("#cell").text("text");

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


3

我想更改特定行中的列值。感谢上面的答案和一些搜索,我得到了以下解决方案:

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

2
我正在寻找更改第二行HTML的方法,并且您可以使用层叠选择器来实现。
$('#tbox1 tr:nth-child(2) td').html(11111)

-4
你可以这样做:
<table id="table_header">
<tr>
   <td contenteditable="true">a</td>
   <td contenteditable="true">b</td>
   <td contenteditable="true">c</td>
</tr>
</table>

4
他们想知道如何使用jQuery更改值,而不是要对XML进行哪些更改。 - Steve

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接