2013-11-28 125 views
0

Fefing to this example:Changing table cell contentsjquery操作表單元格

如何更改表格單元格,如果它們多於1列且單元格中沒有內容,該如何更改表格單元格。

例如更改第二列中的第三個單元格?

<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> 
+0

錯誤的想法:ID必須是唯一的 – pbenard

+0

$('#數據保留時間:第n個孩子(2)> TD:nth-孩子(3)') –

+0

只是錯誤的複製和粘貼不介意 –

回答

0

您正在尋找:nth-child選擇器。就像它基於的CSS選擇器一樣,nth-child(i)採用基於1的索引。

​​

Here is a Fiddle表明它。

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等等。

這將比上面兩個選擇器更好的性能。

0

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

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

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

+0

$(function(){});與舊的$(document).ready(function(){})相同; – Soviut

+0

@Soviut謝謝.. –