ID eines Objektes ermiteln
Thomas Schmieder
- javascript
Hallo,
ich hab da ein Bisschen mit den Divs rumgespielt, da ich die ewigen Popupfenster-Fragen leid war. Klappt auch schon ganz toll. Es geht im Prinzip nur um die Anzeige von Verschiedenen Nachschlagewerten zu bestimmten Datenfeldern. Das "Popup" soll immer nur genauso lang werden, wie es der darin enthaltene Text erfoderlich macht. Mit echten Popups geht das nur schlecht. Divs können das schon von Geburt an alleine *gg* Und das dynamische Nachladen von verschiedenen Texten mach ich mit nem 0x0px² großen iframe.
In diesem Zusammenhang habe ich eine Funktion zum "Schließen" des Divs
function hide(element)
{
if(document.getElementById)
document.getElementById(element).style.visibility = "hidden";
}
Man übergibt ihr eben einfach die ID und gut ists...
Wie kann man aber nun dynamisch die ID eines Elementes auslesen, in dem sich der entsprechnde Link oder Button befindet, der dann die "Schließfunktion" auslöst.
<div id="A1">
Jede Menge Blindtext muss erzeugt werden, um den Textfluss zu testen.
Darum diese sinnlosen Zeilen !!! Hier steht dann, was mit
dem Bild optisch wahrgenommen wird, in Textform.
<p><a href="javascript:hide('A1')">Verstecken</a></p>
</div>
Also, die zu schreibende Javascript-Funktion müsste dann die ID der übergeordneten Node ermitteln, oder? Leider weiß ich nicht, wies geht.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo Tom,
Also, die zu schreibende Javascript-Funktion müsste dann die ID der übergeordneten Node ermitteln, oder? Leider weiß ich nicht, wies geht.
this.parentNode.getAttribute('id') _müßte_ klappen.
Grüße,
Christian
Hi Christian
Also, die zu schreibende Javascript-Funktion müsste dann die ID der übergeordneten Node ermitteln, oder? Leider weiß ich nicht, wies geht.
this.parentNode.getAttribute('id') _müßte_ klappen.
Du bist ja gemein. Immer bist du schneller >;)
Fabian
[gutmütig nach der ganzen Trollerei...]
Hallo Fabian,
Du bist ja gemein.
Ich weiß.
Immer bist du schneller >;)
Ich weiß.
*scnr*
Christian
self.close();
Hi Tom *gähn*
ich hab da ein Bisschen mit den Divs rumgespielt, da ich die ewigen Popupfenster-Fragen leid war. Klappt auch schon ganz toll. Es geht im Prinzip nur um die Anzeige von Verschiedenen Nachschlagewerten zu bestimmten Datenfeldern. Das "Popup" soll immer nur genauso lang werden, wie es der darin enthaltene Text erfoderlich macht. Mit echten Popups geht das nur schlecht. Divs können das schon von Geburt an alleine *gg* Und das dynamische Nachladen von verschiedenen Texten mach ich mit nem 0x0px² großen iframe.
In diesem Zusammenhang habe ich eine Funktion zum "Schließen" des Divsfunction hide(element)
{
if(document.getElementById)
document.getElementById(element).style.visibility = "hidden";
}Man übergibt ihr eben einfach die ID und gut ists...
Prima...
Wie kann man aber nun dynamisch die ID eines Elementes auslesen, in dem sich der entsprechnde Link oder Button befindet, der dann die "Schließfunktion" auslöst.
<div id="A1">
Jede Menge Blindtext muss erzeugt werden, um den Textfluss zu testen.
Darum diese sinnlosen Zeilen !!! Hier steht dann, was mit
dem Bild optisch wahrgenommen wird, in Textform.
<p><a href="javascript:hide('A1')">Verstecken</a></p>
</div>Also, die zu schreibende Javascript-Funktion müsste dann die ID der übergeordneten Node ermitteln, oder? Leider weiß ich nicht, wies geht.
probier mal:
hide(this.parentNode.attributes['id'].nodeValue);
oder
hide(this.parentNode.getAttribute("id"));
(Natürlich im entsprechenden Event-Handler, sonst musst du die Referenz auf _this_ extra übergeben...)
ansonsten: http://selfhtml.teamone.de/javascript/objekte/node.htm
So, jetzt geh ich echt in's Bette.
Fabian