2010-12-09 13 views
0

Ich versuche, eine Art der Handhabung einer Schaltfläche zu schreiben drücken, so dass ein div erweitern & Kollaps und eine Schaltfläche aktualisiert von Lesen 'öffnen' zu 'verstecken' (zusammen mit der Aktualisierung von ALT-Tags). Das Umschalten ist in Ordnung. Ich komme einfach nicht um die traversierenden Aspekte herum.Jquery traversing Bilder

Zwei Schaltflächen werden dargestellt, aber CSS wird angewendet, sodass nur eine angezeigt wird (die offene). Beim Klicken muss das hideImage sichtbar sein und das openImage muss entfernt werden. Ziemlich einfach. Hier

ist die HTML:

<tr> 
<td>text</td> 
<td class="tdclass"><a href="" class="hrefclass"><img src="openImage.gif" class="openImage" border="1"></a> 
<td class="tdclass"><a href="" class="hrefclass"><img src="hideImage.gif" class="hideImage hiddenImage" border="1"></a></td> 
</tr> 

Gibt es eine einfache Möglichkeit, dies mit JQuery zu tun?

Auch, warum funktioniert das nicht?

$('.openImage').parent().parent().find('.hideImage') 

Ich habe angenommen, dass ich zurück bis zu und finde die 'hideImage' Klasse.

Hilfe!

Antwort

2

Der zweite Elternteil ist die <td>, nicht die <tr>, da ein <a> auch da ist, sind Sie wahrscheinlich besser dran mit .closest() hier, wie folgt aus:

$('.openImage').closest('tr').find('.hideImage') 

... oder ein drittes .parent() hinzufügen, funktioniert entweder, aber .closest() neigt dazu, mit Layoutänderungen zukunftsfähiger zu sein.