Cómo asignar y acceder al id de la td de la tabla en JQuery

Estoy insertando la fila dinámicamente. ¿Cómo puedo asignar la identificación a cada td para poder acceder a ella y actualizarla después de un tiempo? me estoy metiendo en eso

                       $(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++;

                }
                }
            });
        });

Estoy insertando la fila dinámicamente. ¿Cómo puedo asignar la identificación a cada td para poder acceder a ella y actualizarla después de un tiempo? Me estoy metiendo en eso.

preguntado el 28 de julio de 12 a las 09:07

2 Respuestas

Realmente no necesitas hacerlo. Puedes usar jQuery's nth() selector.

Por ejemplo:

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

Demo aquí: http://jsfiddle.net/Uz4Ze/

Alternativamente, sugeriría asignar cada <td> una clase, en lugar de una id. Esto le dará el beneficio adicional de poder diseñar cada columna de manera diferente.

Respondido 28 Jul 12, 09:07

NO LO NECESITAS

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

VEA DEMO

PERO SI QUIERES

Escribe algo como:

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

Luego para acceder:

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

Respondido 28 Jul 12, 09:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.