Muad: Link per javascript einfügen

Hi,
ich möchte gerne per javascript in einer zelle von einer tabelle je nach situation verschiedene Links haben, also verschidene ziel addi und und name.

ich habe bisschen rumprobiert, aber leider fügt er den text nicht als code ein, sondern als Text ein.

also statt nur

Link

fügt er

<a href="test.html" class="TEST">Link</a>

ein.

gibt es da ein weg, es zu machen????

danke im vorraus

  1. Hallo Muad,

    ich habe bisschen rumprobiert, aber leider fügt er den text nicht als code ein, sondern als Text ein.

    Was genau hast Du probiert? Mit document.write() innerhalb der Tabellenzelle sollte es eigentlich funktionieren.

    Viele Grüße,
    Christian

    1. Hallo Muad,

      ich habe bisschen rumprobiert, aber leider fügt er den text nicht als code ein, sondern als Text ein.

      Was genau hast Du probiert? Mit document.write() innerhalb der Tabellenzelle sollte es eigentlich funktionieren.

      Viele Grüße,
      Christian

      hier ist der Code von der Test datei

      <html>
      <head>
      <script type="text/javascript">
      <!--
      function test2()
      {
        var Text = "<a href="http://www.test.de">test4</a>";
        var rd_Start = 0;
        var rd_Laenge = document.getElementById("link_tabelle").firstChild.nodeValue.length;
        document.getElementById("link_tabelle").firstChild.replaceData(rd_Start,rd_Laenge,Text);
        var Text = "";
      }
      //-->
      </script>
      </head>
      <body>
      <TABLE WIDTH=100% BORDER=1 CELLSPACING=1 CELLPADDING=1>
        <TR>
          <TD>
            <TABLE WIDTH=100% BORDER=1 CELLSPACING=1 CELLPADDING=1>
              <TR>
                <TD align=center valign=middle>
                  <a href="javascript:test1()" class="notiz">
                    test1
                  </a>
                </TD>
                <TD align=center valign=middle>
                  <a href="javascript:test2()" class="notiz">
                    test
                  </a>
                </TD>
                <TD align=center valign=middle>
                  <a href="javascript:test3()" class="notiz">
                    test3
                  </a>
                </TD>
              </TR>
            </TABLE>
          </TD>
        </TR>
        <TR>
          <TD id="link_tabelle">bla</TD>
        </TR>
      </TABLE>
      </body>
      </html>

      er fügt dann das ganze link gerüst ein

      mfg
      Muad

      1. Hallo Muad,

        (http://learn.to/quote/ btw.)

        function test2()
        {
          var Text = "<a href="http://www.test.de">test4</a>";
          var rd_Start = 0;
          var rd_Laenge = document.getElementById("link_tabelle").firstChild.nodeValue.length;
          document.getElementById("link_tabelle").firstChild.replaceData(rd_Start,rd_Laenge,Text);
          var Text = "";
        }

        Ach so willst Du das ganze ändern. Dann hast Du zwei Möglichkeiten:

        1. Du nimmst innerHTML, also

        document.getElementById("link_tabelle").innerHTML = text;

        Das ist zwar nicht standardisiert, wird jedoch von IE ab 5.x [1], Mozilla ab Version schießmichtot, Netscape ab 6.x und Opera ab 7.0 unterstützt.

        2. Du benutzt richtiges DOM:

        var tabellen_elem = getElementById("link_tabelle");
        var kind;
        while (tabellen_elem.hasChildNodes ()) {
          kind = tabellen_elem.firstChild;
          tabellen_elem.removeChild(kind);
        }
        var link_elem = document.createElement('a');
        link_elem.href = 'http://www.test.de/';
        var text_elem = document.createTextNode('test4');
        link_elem.appendChild (text_elem);
        tabellen_elem.appendChild (link_elem);

        Viele Grüße,
        Christian

        [1] IE 4.x kann's zwar auch, allerdings kann IE 4 kein getElementByID.

        1. Hallo,

          funktioniert leider nicht, ich habe es als eine neue funktion gmacht, aber passiert nichts, wenn ich auf den link drücke

          der Code

          function test3()
          {
           var tabellen_elem = getElementById("link_tabelle");
           var kind;
           while (tabellen_elem.hasChildNodes ()) {
             kind = tabellen_elem.firstChild;
             tabellen_elem.removeChild(kind);
           }
           var link_elem = document.createElement('a');
           link_elem.href = 'http://www.test.de/';
           var text_elem = document.createTextNode('test5');
           link_elem.appendChild (text_elem);
           tabellen_elem.appendChild (link_elem);
          }

          mfg
          Muad

          1. Hallo Muad,

            var tabellen_elem = getElementById("link_tabelle");

            Urgs, da fehlt ein document.

            Viele Grüße,
            Christian

            1. danke, es funktioniert

              aber noch eine kleine nebenfragen, da ich nciht so ganz durchbklicke, durch den code.
              was muss ich machen, wenn ich mehrer links und eine tabelle einfügen will???

              ich dachte ich könnte es aus der antwort ableiten, aber sie ist doch ein biscchen komplexer als ich dachte

              mfg
              Muad

              1. Hallo Muad,

                was muss ich machen, wenn ich mehrer links und eine tabelle einfügen will???

                Naja, Du musst halt jedes HTML-Element mit der createElement-Methode erstellen und dies dann dem richitgen Elternelement zuweisen...

                ich dachte ich könnte es aus der antwort ableiten, aber sie ist doch ein biscchen komplexer als ich dachte

                Tja, Du willst nicht doch lieber die innerHTML-Methode nehmen? Das ist *deutlich* einfacher und alle modernen Browser unterstützen das heutzutage. (schrieb ich bereits)

                Viele Grüße,
                Christian

                1. ich glaube, du hast recht, ich nehme es doch :)

                  mfg
                  Muad