Jörg Peschke: Variablen ändern

Beitrag lesen

Hi,

Ich will, dass eine variable bei einem mouseover geändert wird. Dazu habe ich dann mal etwas ausprobiert:
<a href="index.htm"
   onMouseOver="var hallo= test;"
   border="0" alt="Home">test</a><br>

<script type="text/javascript">
document.write(hallo);
</script>

Tja, also, ich sehe da zwei Probleme:

1.) Machst du ein document.write welches ausgeführt wird, noch bevor deine Variable hallo überhaupt definiert wird (denn dies geschieht ja erst bei deinem Mouseover. Das was du vermutlich eher willst ist etwas wie:

document.getElementById(Die_ID_Irgendeines_HTML_Elementes).innerHTML = hallo;

(oder elegeanter mit der DOM-Methode createNode)

2.) Hast du bei 'test' die Anführungszeichen vergessen. 'test' ist ein String, und braucht folglich Anführungszeichen.

3.) Habe ich auch festgestellt, das wertzuweisungen in Event-handlern problematisch sind. Was du machen könntest, wäre:

onMouseOver = "function setHallo () {hallo = 'test';};setHallo();"

Ist aber unschön zu lesen. Wenn dann besser so geschrieben:

<script type="text/javascript">
<!--
  var hallo;
  function setHallo (text) {
      hallo = text;
  }
//-->
</script>

<a href="index.htm"
   onMouseOver="setHallo('test');"
   border="0" alt="Home">test</a><br>