2013-02-19 13 views
5

Ho una tabella di fila e più TDS in quella riga, come quella:Seleziona il 3 ° <td> usando jQuery?

<tr class="first odd"> 
    <td class="a-center"> 
    <td>...</td> 
    <td>...</td> --> I want this 
    <td>...</td> 
    <td>...</td> 
    <td>...</td> 
</tr> 

sono in grado di ottenere il tr genitore di tutti i TDS, ma c'è un modo per ottenere il 3 ° td all'interno del solo tr?

Il codice per ottenere il TR è:

jQuery('#shopping-cart-table > tbody > tr').each(function(index, value) { 
    ... 
}); 

Grazie

+0

possibile duplicato di [come selezionare n-esimo td di una tr utilizzando jQuery] (http://stackoverflow.com/questions/7229145/how-to-select -n-th-td-of-a-tr-using-jquery) –

risposta

10

È possibile utilizzare :eq selettore:

jQuery('#shopping-cart-table > tbody > tr').each(function(index, value) { 
    $('td:eq(2)', this) 
}); 

Oppure:

jQuery('#shopping-cart-table tbody').find('td:eq(2)'); 
+0

Perché questo e il foo? – user1856596

+0

@ user1856596 Questo è '$ (selettore, contesto)', 'questo 'si riferisce all'attuale' tr'. – undefined

+0

OK! Sembra promettente. – user1856596

2

Utilizzare il: eq funzione in jQ uery: http://api.jquery.com/eq/

$('#shopping-cart-table td').eq(2); 
+0

.eq (3) rappresenterà il quarto td – Gautam3164

+0

corretto. P.s, la tua soluzione non funzionerà nelle versioni precedenti di IE. –

+0

jQuery ('# shopping-cart-table> tbody td: eq (2)'); IE deve causare conflitti con questo non il mio .... Ho controllato – Gautam3164

1

prova con questo

$("#shopping-cart-table > tbody > tr td").eq(2); 
1

Prova in questo modo:

$(".first td:nth-child(3)").append("<span>-3rd"); 
0

questo è il codice migliore e più semplice. È possibile fare clic sul pulsante in quella riga, quindi verrà visualizzato il valore di thrid. se questo tuo tavolo:

<tr class="first odd"> 
    <td class="a-center"> 
    <td>...</td> 
    <td>...</td> --> I want this 
    <td>...</td> 
    <td>...</td> 
    <td><button id='test'><button></td> 
</tr> 

poi in javascript associare il pulsante con evento click, come indicato di seguito: -

$(document).ready(function() { 
    $('#test').click(function(){ 
     var thirdData = $(this).closest('tr').children('td:eq(2)').text(); 
     alert(thirdData); 
    }); 
}); 

questo risolverà il problema.

0

risposta per il titolo:

$("#tableId tr td:nth-child(3)").html(); 
Problemi correlati