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

Text erweitern

Status
Für weitere Antworten geschlossen.
Werbung:
guck dir doch mal die Eventhandler an, wie hier z.B. "onclick" oder beim drüberfahren "onmouseover"
 
Hab jetzt

Code:
<script type="text/javascript">
var Neu = "Link1 :: Link2";
function Aendern () {
  document.all.meinAbsatz.innerText = Neu;
}
</script>
...
Code:
<p id="meinAbsatz"></p><a href="javascript:Aendern()">Hallo</a>

jetzt wird der Text davor angezeigt! Wie bekomme ich es hin, dass der Text dahinter abgezeigt wird??
 
Werbung:
passiert exakt das gleiche bei.
Möchte den Text auch nurnoch hinter 'Hallo' bringen!^^

edit: es klappt nun! kA warum^^

edit2: nächstes Problem:

Code:
<script type="text/javascript">
var Neu = "WoW: <a href="wow_chars.html">Chars</a>";
function Aendern () {
  document.all.meinAbsatz.innerText = Neu;
}
</script>

klappt nicht, aber:

Code:
<script type="text/javascript">
var Neu = "WoW: Chars";
function Aendern () {
  document.all.meinAbsatz.innerText = Neu;
}
</script>

funktioniert.

Liegt also am Link. Kann ich das irgendwie umgehen??
 
Zuletzt bearbeitet:
Ich glaube das liegt daran wo das script Anfängt zu starten:
also müsste der link mit dem Evanthandler danach den text erzeugen
 
Werbung:
Hi,

hab noch ein von mir geschriebenes Script rum liegen gehabt das automatisch Urls aus gibt die nem Array gespeichert sind.

Evtl. bringts dir ja was. :smile:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
 
 var child, z=0, urls = new Array('name1','url1','name2','url2'); //beliebig weiter führen
 
 var hallo = function(nam) {
 if(z==0){
 var tag = document.getElementById(nam);
 tag.removeChild(tag.firstChild);
 
 for(var i=0; i < (urls.length/2); i++) {
 child = tag.appendChild(document.createElement('a'));
 
 with(child) {
   appendChild(document.createTextNode(urls[z]));
   setAttribute('href','deine URL');
   style.marginLeft = '5px';
   style.marginRight = '5px';
  }
 tag.appendChild(child);
 
 z+=2;
  }
 }
}
</script>
</head>
<body>
<span id="hallo" onClick="hallo('hallo')">hallo</span>
</body>
</html>
 
nettes Teil:

hab da nur 2 Probleme:

1. der ursprüngliche Text (hier 'hallo') wird ausgeblendet. Das würde ich nicht so gerne.
2.
Code:
setAttribute('href','deine URL');
Was muss da rein??
 
DeLuXe schrieb:
nächstes Problem:

Code:
<script type="text/javascript">
var Neu = "WoW: <a href="wow_chars.html">Chars</a>";
function Aendern () {
  document.all.meinAbsatz.innerText = Neu;
}
</script>

klappt nicht, aber:

Code:
<script type="text/javascript">
var Neu = "WoW: Chars";
function Aendern () {
  document.all.meinAbsatz.innerText = Neu;
}
</script>

funktioniert.

Liegt also am Link. Kann ich das irgendwie umgehen??
Das liegt nur indirekt am Link, wegen den doppelten Anführungszeichen. Du benutzt bei der Definierung von (var) Neu doppelte Anführungszeichen, beim Link auch, was für den Browser bedeutet, dass der String, der durch JavaScript erzeugt wird, nach dem ersten Anführungszeichen beim Link wieder aufhört, was zu Fehlern führt.

Lösungsmöglichkeiten:
- Anführungszeichen beim Link escapen ('\"')
- Anführungszeichen beim Link weglassen
- Bei der Definierung von (var) Neu einfache Anführungszeichen benutzen

Umsetzungen:
HTML:
var Neu = "WoW: <a href=\"wow_chars.html\">Chars</a>";
HTML:
var Neu = "WoW: <a href=wow_chars.html>Chars</a>";
HTML:
var Neu = 'WoW: <a href="wow_chars.html">Chars</a>';
Ich rate zur letzten Lösungsmöglichkeit.
 
Werbung:
DeLuXe schrieb:
nettes Teil:

hab da nur 2 Probleme:

1. der ursprüngliche Text (hier 'hallo') wird ausgeblendet. Das würde ich nicht so gerne.
2.
Code:
setAttribute('href','deine URL');
Was muss da rein??

Sorry, hast recht
hab ich vergessen auszubessern ^^ (gedanken los)

Code:
<script type="text/javascript">
 
 var child, z=0, urls = new Array('name1','url1','name2','url2'); //beliebig weiter führen
 
 var hallo = function(nam) {
 if(z==0){
 var tag = document.getElementById(nam);
 var ur = tag.firstChild.nodeValue;
 tag.removeChild(tag.firstChild);
 
 for(var i=0; i < (urls.length/2); i++) {
 child = tag.appendChild(document.createElement('a'));
 
 with(child) {
   appendChild(document.createTextNode(urls[z]));
   setAttribute('href',urls[z+1]);
   style.marginLeft = '5px';
   style.marginRight = '5px';
  }
 tag.appendChild(child);
 
 z+=2;
  }
 }
  tag.appendChild(document.createTextNode(ur));
}
</script>

und jetzt hängt er auch den ursprünglichen Text an :)
 
Zuletzt bearbeitet:
@ Psyko, werd ich gleich mal versuchen;

@ Verhueterli: es bringt nix, jetzt steht auf der Website selber:

Code:
WoW: <a href="wow_chars.html">Chars</a>

WoW

Habe alle ausprobiert der Möglichkeiten. -.-

EDIT: so leute, hab mir was anderes einfallen lassen:

Code:
<script type="text/javascript">
<!--
var Neu = 'Chars';
function Aendern () {
  document.all.meinAbsatz.innerText = Neu;
}
-->
</script>

..

<a href='javascript:Aendern ()'>WoW</a><a href='wow_chars.html'><p id='meinAbsatz'></p></a>

trotzdem thx für eure Hilfe. In Zukunft denke ich, bevor ich schreibe!^^
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben