2012-07-28 37 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