Link per javascript einfügen
Muad
- javascript
0 Christian Seiler0 Muad0 Christian Seiler0 Muad0 Christian Seiler0 Muad0 Christian Seiler0 Muad
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
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
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
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.
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
Hallo Muad,
var tabellen_elem = getElementById("link_tabelle");
Urgs, da fehlt ein document.
Viele Grüße,
Christian
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
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
ich glaube, du hast recht, ich nehme es doch :)
mfg
Muad