Kaarina: DOM - Meldung "Ungültiges Argument" abfangen

Hy!
//
Kein Drama, wenn keiner antwortet, aber es müsste irgendwie auch anders gehn .....
//
Das nachfolgende Script entfernt aus einer Liste von 3 Optionen die 2. Option. Wird die Funktion mehr als einmal ausgeführt,
wird "Ungültiges Argument" gemeldet - deshalb die "Krücke" mit der Klick-Variablen.
//
Frage: gibt es nicht eine elegantere Lösung als die if (klick == 0)-Abfrage  ???

Für Tip(p)s Dank im voraus
Kaarina

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var dom = (document.getElementById) ? 1:0;
var klick = 0;
function entferne_childnode(parent,child)
{
if (dom)
{
if (klick == 0)
{
parentnode = document.getElementById(parent);
childnode = document.getElementById(child);
parentnode.removeChild(childnode);
}
klick = 1;
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<A HREF="javascript:entferne_childnode('liste02','child02')">Verberge Childnode</A>
<UL ID="liste02">
<LI ID="child01" CLASS="square">Position 01</LI>
<LI ID="child02" CLASS="square">Position 02</LI>
<LI ID="child03" CLASS="square">Position 03</LI>
</UL>
</BODY>
</HTML>

  1. Hallo,

    du kannst die Anzahl der Child-Nodes abfragen. Wenn es zwei sind, dann ist ein Element schon entfernt worden.

    Mit freundlichen Grüßen
       Dimitri Rettig

    --
    Meistens gelangen die Menschen nur durch die Folgen der Unordnung zur Einführung der Ordnung, und Gesetzlosigkeit führt gewöhnlich erst zu Gesetzen.
      -- Friedrich Schiller
  2. Hallo Kaarina,

    parentnode = document.getElementById(parent);
    childnode = document.getElementById(child);

    if(childnode != null) {

    parentnode.removeChild(childnode);

    }

    Grüße

    Daniel

  3. Vielen Dank, hatte es irgendwie im Gefühl, dass es auch anders geht ...
    Gruss Kaarina