steckl: className macht Probleme / weis nicht weiter

Beitrag lesen

Hi,

Also zu besseren Verständnis hier meine Datei: #######################

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Test</title>
<style type="text/css" media="screen">
  .test{
   color:red;
   font-size: 30pt;
  }
</style>
<script type="text/javascript" charset="utf-8">
  document.getElementById("test_id").className = "test";
  alert("done");
</script>

Hier gibt es das Element mit der ID test_id noch nicht, da die Seite mit dem Laden noch nicht so weit ist.

</head>
<body>
<div id="test_id">
  test
</div>
</body>

######################################################################

Er führt das Script nicht aus sobald etwas von "className" erwähnt
wird. Falls es wichtig für eine Diagnose ist, ich habe Mac Os Tiger
und verwende FireFox. Das dürfte aber keinen einfluss auf
JS-Interpretation haben.

Aber der FF bietet eine Javascript-Fehlerkonsole an, die dir Fehler anzeigt. So steht bei deinem Script 'document.getElementById("test_id") has no properties'.
Das heisst, dass zu dem Zeitpunkt, wo es aufgerufen wird, es das Element mit der ID "test_id" noch nicht gibt. Es hat nichts mit className zu tun.

Du solltest dein Script in eine Funktion packen und es mit onload (im body-Tag) aufrufen.
Die zweite (wie ich finde nicht so schoene) Moeglichkeit waere, das Script nach dem Div im Quellcode zu platzieren.

mfG,
steckl