2009-08-01 18 views
0
<tr> 
<td>#</td> 
<td>2009</td> 
<td><a class="delete_this">Click</a></td> 
</tr> 

Ich möchte jquery verwenden und den Text der zweiten (zweiten) "td" erhalten, wenn Sie auf den Anker klicken. Ich möchte die "td" in der gleichen tr als der Anker ...Wie bekomme ich den Wert von TD mithilfe der Hierarchie?

Wie mache ich das?

Bisher habe ich

$(document).ready(function(){ 
    $(".delete_this').click(function(){ 
    var myNUmber = $(this).parent()....///And this i should write the code to get the text for second td in tr where the anchor belongs to 
}) 
}) 

Antwort

2

Hier ein paar Möglichkeiten:

$(this).parent().siblings("td:eq(1)").text() 

Wenn Ihr für die Zelle suchen bevor Sie es auf diese Weise tun können:

$(this).parent().prev().text() 
1

$('.delete_this').closest('tr').children(':eq(1)') .text();

1) Holen Sie sich die .delete_this Ein Tag
2) Holen Sie sich das Mutter TR
3) Holen Sie sich das zweite TD
4) Holen Sie sich das Text des 2. TD

+0

War in der Mitte der Überarbeitung –

+0

verwenden .closes statt .Parents – redsquare

1
var myNUmber = $(this).parent().siblings().get(1).text(); 

Details sind here

1

Ihre bessere hinzufügen nur 1 Klick-Ereignis mit .Live, anstatt mehrere Klick-Handler hinzufügen, wenn Sie eine große Tabelle hatte Auswirkungen auf die Leistung (denke 100 separate gebundene Ereignisse).

Denken Sie auch daran Klasse Selektoren mit nodeName Präfix, wenn Sie können (hier Sie sicher sind, alle delete_this Anker sind)

$('a.delete_this').live('click', function(){ 
    var myNUmber = $(this).parent().siblings().get(1).text(); 
}); 
Verwandte Themen