Yadgar: Links mit Javascript erzeugen klappt irgendwie nicht...

High!

Neue Woche, neue Probleme... nachdem man mich letzte Woche überzeugt hat, mich im Hinblick auf die Rangfolge von Links doch auf die Logik zu verlassen (was in der Computerei IMHO nicht selbstverständlich ist!), probierte ich mein neu gewonnenes Wissen aus:

lnks2 = new Array(2);
      lnks2[i] = document.createElement("a");
      switch (i)
      {
        case 0: lnks2[i]="langzeit.html"; break;
        case 1: lnks2[i]="kurzschulungen.html"; break;
      }
      caps2[i].appendChild(lnks2[i]);
      lnks2[i].appendChild(im2[i]);
      i++;

Im Rahmen einer Schleife mit zwei Durchläufen (hier nicht mit dabei) wird in zwei <div>-Bereiche je ein Link (lnks[i]) eingefügt, jeder dieser Links umschließt eine Inline-Grafik (im2[i]).

Und was macht mein Browser (bzw. die Javascript-Konsole)? Sie knallt mir diesen kryptischen Error-Salat vor den Latz:

Error: uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMHTMLDivElement.appendChild]"  nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)"  location: "JS frame :: file:///D:/Dokumente%20und%20Einstellungen/diego/Desktop/Benutzer/Bleimann/nav.js :: <TOP_LEVEL> :: line 122"  data: no]

Das einzige, was daraus entnehmen kann, ist, dass der Fehler in Zeile 122 aufgetreten ist, also in

caps2[i].appendChild(lnks2[i]);

Aber wieso? Kann ein <div> keinen <a>-Link als Kindobjekt haben?

Bis bald im Khyberspace!

Yadgar

  1. Hi,

    Neue Woche, neue Probleme... nachdem man mich letzte Woche überzeugt hat, mich im Hinblick auf die Rangfolge von Links doch auf die Logik zu verlassen (was in der Computerei IMHO nicht selbstverständlich ist!),

    oho, das ist die _Grundlage_ der Computerei!

    lnks2[i] = document.createElement("a");
          switch (i)
          {
            case 0: lnks2[i]="langzeit.html"; break;

    Abgesehen davon, dass Du statt eines switch/case eher ein Array verwenden möchtest: Warum überschreibst Du das frisch erzeugte <a>-Element mit einem String?

    Und was macht mein Browser (bzw. die Javascript-Konsole)? Sie knallt mir diesen kryptischen Error-Salat vor den Latz:

    Die Fehlermeldung ist doch aber trotzdem recht eindeutig, oder? "Konnte das erste Argument von appendChild nicht konvertieren."

    Aber wieso? Kann ein <div> keinen <a>-Link als Kindobjekt haben?

    Doch, aber keinen String.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. High!

      oho, das ist die _Grundlage_ der Computerei!

      Wenn die Benutzerführung nichts taugt oder wenn eine Sprache in sich inkonsequent strukturiert wurde, lässt sie einen schnell im Stich...

      Doch, aber keinen String.

      So besser? ;-)

      case 0: lnks2[i].href="langzeit.html"; break;
              case 1: lnks2[i].href="kurzschulungen.html"; break;

      Bis bald im Khyberspace!

      Yadgar

      1. Hi,

        oho, das ist die _Grundlage_ der Computerei!
        Wenn die Benutzerführung nichts taugt

        wir reden hier von Entwicklung, nicht von Benutzerführung. Entwicklung erfordert Fachkenntnisse und technologisches Verständnis. Da von strikter Logik abzuweichen ist _fatal_.

        oder wenn eine Sprache in sich inkonsequent strukturiert wurde, lässt sie einen schnell im Stich...

        Deswegen rate ich insbesondere Anfängern von PHP ab.

        Doch, aber keinen String.
        So besser? ;-)

        Ja. Noch besser wäre wie gesagt ein Array. Oder willst Du in bestimmten Fällen mehr tun als nur Werte zuzuweisen?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes