Thomas Schmieder: ID eines Objektes ermiteln

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

--
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
  1. 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

    --
    Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
    1. 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...]

      1. Hallo Fabian,

        Du bist ja gemein.

        Ich weiß.

        Immer bist du schneller >;)

        Ich weiß.

        *scnr*

        Christian
        self.close();

        --
        Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
  2. 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 Divs

    function 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