2009-03-17 11 views
2

J'ai une table avec 14 ligne de table et 3 colonne de donnéesselect spécifique dans jquery

j'aime sélectionner la table, chaque ligne que la valeur de la # 3 colonne

comment ne comptent i, Je sais que le sélecteur fisrt, l'enfant ... mais comment ne pas net

$ ('# tableofdata tr td) .getmethethird

+0

http://docs.jquery.com/Selectors – rfunduk

Répondre

6
$("#tableofdata tr td:nth-child(3)") 

ou simplement:

$("#tableofdata tr td:last-child") 

pour saisir le 3e enfant de cela, il y a plusieurs façons:

$(this).find(":nth-child(3)"); 

ou:

$(":nth-child(3)", this); 

ou simplement :

$(this)[2]; // arrays are 0 indexed 
+0

Je pense que l'enfant de la méthode (3) est le meilleur pour moi ... juste une question de la première td est # 1 ou # 0? – menardmam

+0

premier enfant est 1. http://docs.jquery.com/Selectors/nthChild#index – cletus

+0

et comment obtenir l'enfant (3) $ (this) – menardmam

1

pas certain si ce sera le plus rapide, mais ...

$('#tableofdata tr td + td + td') 
+0

si l'enfant (3) n'existe pas, il sera ma solution ... ne voit pas comment obtenir le 245 td de 367 .... il sera moche! – menardmam

+0

nth-child (3) fonctionnera bien. –

0

Qu'en est cette solution:

$('#mytable tr').each(function() { 
    var customerId = $(this).find("td").eq(2).html();  
} 
0

Le problème avec cette solution:

$('#mytable tr').each(function() { 
    var customerId = $(this).find("td").eq(2).html();  
}); 

Est-ce que si votre table ressemble à ceci:

<table id='mytable'> 
    <tr> 
    <td>col1</td> 
    <td>col2</td> 
    <td>15</td> 
    </tr> 
    <tr> 
    <td>col1</td> 
    <td>col2</td> 
    <td>16</td> 
    </tr>  
</table> 

Il ne se l'ID de la première rangée à cause de la façon dont elle est construite. Donc, si vous voulez récupérer tous les ID, vous feriez ceci:

var customers = new Array(); 
$('#mytable tr td:nth-child(2)').each(function() { 
    customers.push($(this).html()); 
}); 

Si vous voulez que le numéro de client spécifique de la ligne Nième, vous feriez ceci:

var customerId = $('#mytable tr').eq(N).find('td').eq(2).html(); 

Où N serait l'index basé sur 0 de la ligne que vous voulez.

Questions connexes