如何在JQuery中分配和访问表的td的id

时间:2012-07-28 08:16:55

标签: jquery jquery-selectors

我正在动态插入行。如何为每个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++;

                }
                }
            });
        });

我正在动态插入行。如何为每个td分配id,以便我可以访问它并在一段时间后更新它。我坚持不懈。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

你真的不需要。您可以使用jQuery的nth()选择器。

例如:

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

在这里演示:http://jsfiddle.net/Uz4Ze/

或者,我建议为每个<td>分配一个类,而不是id。这将为您提供额外的好处,即能够以不同方式设置每列的样式。