steffen: Problem bei Tag creieren

Hi Forumleser,

ich möchte gerne einen Link erstellen. Mit Hilfe des Forums und der Selfhtml-Doku. Heruaskam das hier:

<html><head>
<script type="text/javascript">
 current_link = document.createElement("a");
 link_href=document.createAttribute("href");
 link_href.nodeValue = "bla.html";
 current_link.setAttributeNode(link_href);
 current_link.appendChild(document.createTextNode("test"));
 var Ausgabebereich = document.getElementById("item1");
 Ausgabebereich.appendChild(current_link);

</script>
</head>
<body>
 <p id="item1"></p>
</body>
<html>

Jedoch funktioniert dieses Beispiel nur, wenn ich den JavaScript Code unter den <p> Tag stelle. Geht dies auch irgendwie so wie ich das oben geschrieben habe?

LG Steffen

  1. hi,

    current_link = document.createElement("a");
    link_href=document.createAttribute("href");
    link_href.nodeValue = "bla.html";
    current_link.setAttributeNode(link_href);

    Einen href-Attributknoten zu erstellen, ist eigentlich komplett unnötig, und kann im IE problematisch werden.
    Ein Link hat per se eine href-Eigenschaft, also kannst du der auch direkt die gewünschte Adresse zuweisen.

    Jedoch funktioniert dieses Beispiel nur, wenn ich den JavaScript Code unter den <p> Tag stelle.

    Ja, weil dann dieses Element, auf welches du über seine ID zugreifen willst, bereits existiert.

    Geht dies auch irgendwie so wie ich das oben geschrieben habe?

    Warte ab, bis das Dokument fertig geladen und aufgebaut wurde - mittels onLoad.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi wahsaga,

      current_link = document.createElement("a");
      link_href=document.createAttribute("href");
      link_href.nodeValue = "bla.html";
      current_link.setAttributeNode(link_href);

      Einen href-Attributknoten zu erstellen, ist eigentlich komplett unnötig, und kann im IE problematisch werden.
      Ein Link hat per se eine href-Eigenschaft, also kannst du der auch direkt die gewünschte Adresse zuweisen.

      Was meinst du mit "Ein Link hat per se eine href-Eigenschaft"? Was ist se?

      Wenn ich den hrefzuweisungAttribut weglassem wohin muss ic dann den nodeValue schreiben? Direkt in den current_link klappt leider nicht.

      mfg

      1. Hallo steffen.

        Was meinst du mit "Ein Link hat per se eine href-Eigenschaft"?

        Dass jedes HTML–Elementobjekt jederzeit über alle seine Eigenschaften verfügt, du musst sie also nicht erst händisch erzeugen. Ein einfaches zuweisen genügt:

        objekt.eigenschaft = wert;

        Was ist se?

        Nicht „se“ sondern „per se“.

        Einen schönen Dienstag noch.

        Gruß, Mathias

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Hi Mathias,

          ich hab das ganze nun so gemacht:

          current_link = document.createElement("a");
           current_link.href.nodeValue = "bla.html?id=" + KundeId + "bla";
           current_link.appendChild(document.createTextNode("test"));
           var Ausgabebereich = document.getElementById("item1");
           Ausgabebereich.appendChild(current_link);

          oder habe ich das falsch verstanden? Klappt leider aber nicht :(

          steffen

          1. ich hab das ganze nun so gemacht:

            current_link = document.createElement("a");
            current_link.href.nodeValue = "bla.html?id=" + KundeId + "bla";

            Nein die Eigenschaft ist href, also:
            current_link.href = "bla.html?id=" + KundeId + "bla";

            oder habe ich das falsch verstanden? Klappt leider aber nicht :(

            Klappt nicht, heißt?

            Struppi.

            --
            Javascript ist toll (Perl auch!)