2012-07-28 20 views
1

我正在動態插入行。我如何將id分配給每個td,以便我可以訪問它並在一段時間後更新它。我堅持它如何分配和訪問jQuery中表的td的ID

     $(document).ready(function(){ 
      var rowNumber = 0; 
      var myData=new Array(6); 
      myData[0]="txt1"; 
      myData[1]="txt2"; 
      myData[2]="txt3"; 
      myData[3]="txt4"; 
      myData[4]="txt5"; 
      myData[5]="txt6"; 
      $('#display').click(function(){ 
       //Get the user input 
       for(i=0; i<6; i++) 
       { 
       if(document.getElementById(myData[i]).value !=0) 
       { 
       var nameInput = document.getElementById(myData[i]).name; 

       var Quan = document.getElementById(myData[i]).value; 
       //Create a new row with an ID 
       var newRow = $('<tr />').attr('id', 'row' + rowNumber); 
       //Add some HTML to the row 



       newRow.html('<td>' + nameInput + '</td><td>' + Quan + '</td>'); 

       //Append the new row to the body of the #myTable table 
       $('#myTable tbody').append(newRow); 

       //Iterate row number 
       rowNumber++; 

       } 
       } 
      }); 
     }); 

我插入行動態。我如何將id分配給每個td,以便我可以訪問它並在一段時間後更新它。我堅持下去。

回答

0

你並不真的需要。你可以使用jQuery的nth()選擇器。

例如:

$('td:nth(2)').html() 

演示在這裏:http://jsfiddle.net/Uz4Ze/

另外,我建議分配每個<td>一類,而不是id。這將爲您提供可以以不同方式對每個列進行樣式設置的額外好處。

0

你不需要它

var td = $('#myTable tr:eq(2) td:eq(1)'); // 3 row 2 col 

查閱DEMO

但如果你想

寫類似:

for(i = 0; i < 6; i++) { 
    ... 
    newRow.append('<td id="' + ('td_' + rowNumber + '_1') + '">' + nameInput + '</td>'); 
    newRow.append('<td id="' + ('td_' + rowNumber + '_2') + '">' + nameInput + '</td>'); 
    ... 
} 

然後訪問:

$('#2_1').css('background', '#ccc'); // make grey background in 2 row 1 col