• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

HTML Link mit JS-Variable?

stromij

Neues Mitglied
Hallo!

Vorneweg: Ich weiß ehrlich gesagt nicht, ob ich das jetzt unter JavaScript oder Html posten soll, da die beiden Sprachen sich hierfür überschneiden. Ich hab mich einfach für HTMl entschieden.

Ich such nach einer Lösung einen Pfad der in der einer JavaScript-Variable gespeichert ist zu verlinken. Zum Verständins mal grob meine Vorstellung in Codeform:
Code:
<script type="text/javascript">
var i="/C:/Users/doof.html";
</script>

<a href="i">das ist ein link </a>

So wie das jetzt aber hier genannt ist, verlinkt der Browser ja auf ein ort mit dem Namen i was ja totaler blödsinn ist.

Was gut wäre, wenns nicht in PHP läuft, da mein Lehrer PHP nicht will und ich ausserdem was lernen will ;-)

Danke schon mal im Vorraus!

Stromi
 
hi
nein so geht das natürlich nich ;)
müsstest das schon so machen:
HTML:
<script type="text/javascript">
var i="/C:/Users/doof.html";
document.write("<a href='"+i+"'>das ist ein Link</a>");
</script>
hoffe mal das hilft dir :)
mfg michaelos
 
Eine andere Methode, die auch ansehnlicher ist, wäre mittels document.createElement( );
Ich finde document.write( ); einfach keine schöne Funktion... Aus irgendeinem mir unbekannten Grund. :D
HTML:
<script type="text/javascript"><!--

function CreateElement( attributes ) {
  if( !attributes.name ) return null;
  var elem = document.createElement( attributes.name );
  if( attributes.mask ) { // Ich werde dies hier als ein Synonym für den Text verwenden
    elem.appendChild( document.createTextNode( attributes.mask ) );
  }
  for( var attr in attributes ) {
    elem[ attr ] = attributes[ attr ];
  }
  return elem;
}

function DynLink( url ) {
  var link = CreateElement( { name : "a" , href : url , mask : "Dies ist ein Link." } );
  this.appendChild( link );
}

if( document.attachEvent ) {
  document.attachEvent( "onload", function( ) {
    document.getElementById( "MyDiv" ).DynLink( "doof.html" );
  } );
} else {
  document.addEventListener( "load", function( ) {
    document.getElementById( "MyDiv" ).DynLink( "doof.html" );
  }, true );
}

// --></script>
Und noch entsprechend einem Div das Attribut ID="MyDiv" geben, dürfte klar sein... x)
Das alles nur, weil ich die document.write()-Funktion nicht mag. oO Naja, damit kann man eben auch gleich andere Elemente wie div, span, table, etc erstellen. :P

€dith:
Apropos, HTML und JavaScript werden sich so oder so überschneiden! Denn ohne HTML, kein JavaScript. Also würde das hier eher in das JavaScript-Forum kommen. ;)
 
Super!!

Danke ihr beiden! Ihr habt mir jetzt so einiges erleichtert und diverse Programmzeilen erspart ;-)

EDIT:
Das nächste mal frag ich dann im Javascript forum =D

Grüße
Stromi
 
Zurück
Oben