2011-01-19 8 views

ответ

24
$("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

+2

уверен, вы можете сделать '$ (" # table_headers td: eq (2) ") .html (" new ");' – hunter

+0

или '$ (" # table_headers td: last "). Html (" new "); ' – hunter

7

Вы можете использовать CSS selectors.

В зависимости от того, как вы получите, что тд, вы можете дать ему идентификатор:

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

, а затем использовать:

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

Или пройти к третьей ячейке первой строки table_header и т.д.

13

Использование eq()(docs) вы можете настроить таргетинг на третью ячейку в таблице:

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

Если вы хотите целевую каждого третьей ячейки в каждой строке, используйте nth-child-selector(docs):

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

Вы можете сделать это:

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

Они хотели знать, как изменить значение с помощью jQuery, а не изменения, которые они должны внести в XML. – Steve

+0

Согласен со Стивом –

0

я искал изменения второй строки HTML и вы можете сделать каскадный селектор

$('#tbox1 tr:nth-child(2) td').html(11111) 
Смежные вопросы