2010-02-10 4 views
1

J'essaie d'obtenir la valeur textuelle d'une cellule de tableau par rapport à un lien cliqué. Cliquez sur le lien dans l'une des cellules de la classe « trois » et obtenir le texte de cette cellule de ligne particulière appelée la classe « un »jQuery - recherche d'une valeur relative à un élément cliqué

<tr> 
<td class='one'><a href="#">Text to get</a></td> 
<td class='two'>meh</td> 
<td class='three'><a href="#">Click this to get the text in the first cell of this row</a></td> 
</tr> 
<tr> 
<td class='one'>Different text to get</td> 
<td class='two'>blah</td> 
<td class='three'><a href="#">Click this to get the text in the first cell of this row</a></td> 
</tr> 

je peux obtenir le texte de l'élément cliqué avec quelque chose comme:.

console.log($(this).text()); 

Mais comment puis-je obtenir le texte de cette première cellule de la ligne

Je pensais que, à titre d'exemple, il serait somethng comme:

console.log($(this).prev().prev().text()); 

Mais ce n'est pas correct (renvoie "une chaîne vide"). Aucune suggestion?

Répondre

3

Essayez:

$(this).closest('td').siblings('.one').text();

+0

Bam ... solution instantanée. Merci CalebD. – Stuart

1
$("td.three a").click(function(e){ 
    e.preventDefault(); 
    var myText = $(this).closest("tr").find("td.one").text(); 
}); 
1

serait ce travail?

http://jsbin.com/opafa

$('td.three a').click(function(e) { 
    e.preventDefault(); 

    var txt = $(this).prevAll('.one').text(); 

    alert(txt); 
});