Hallo
Wie du einem Element eine Style-Eigenschaft zuweist, hat dir Klawischnigg schon geschrieben. Deshalb von mir nur eine allegemeine Manöverkritik.
Hier ist einmal der Quellcode, vielleicht habe ich ja auch nur einen Fehler geschrieben, den ich jetzt nicht mehr finden kann...
<script type="text/javascript">
<!--
[code lang=javascript]function aktuellerTag()
{
document.getElementById("tabelle").style.color: green;
}
> //-->
> </script>[/code]
Du weist, wenn auch falsch, \_der\_ganzen\_Tabelle\_ die Schriftfarbe zu, nicht, wie zumindest ich erwarten würde, dem betreffenden Tag.
Zudem ist die Kapselung des JavaScript-Codes in einem HTML-Kommentar heutzutage unnötig. Das war mal anders, aber heutzutage kommen alle Browser mit JavaScript-Code zurecht, auch wenn sie ihn nicht ausführen.
> ~~~html
</head>
> <body OnLoad="aktuellerTag()">
> <table widht="240px"; border="1"; bordercolor="black";>
Hier, wie auch bei allen anderen HTML-Attributen gilt, dass es *keine* abschließenden Semikola gibt. <table widht="240px" border="1" bordercolor="black">
wäre also richtig, auch wenn Angaben zum Aussehen mit CSS und nicht mit HTML-Attributen gesetzt werden sollten.
<tr>
<td>
<table border="1"; bordercolor="green"; bgcolor="black"; width="100%";>
<tr>
<td><img src="Bild.jpg" alt="Bildbeschreibung"></td>
</tr>
</table>
<script type="text/javascript">
[code lang=javascript] var aktuellesDatum = new Date();
var monat = aktuellesDatum.getMonth();
var tag = aktuellesDatum.getDate();
var jahr = aktuellesDatum.getFullYear();
var monate = monat+1;
document.write("<table border='1'; width='100%'; bordercolor='red'>");
document.write("<tr>");
document.write("<td><center>"+monate+"."+jahr+"</center></td>");
document.write("</tr>");
document.write("</table>");
> </script>[/code]
Es wäre konsistenter, alle Tabellen, die zum Kalender gehören, mit JavaScript zu erzeugen, wenn man den Kalender schon mit JavaScript aufbaut. So wird ein Benutzer, dem kein JavaScript zur Verfügung steht, die Tabelle für das Bild und deine Aufzählung von 1 bis 30 sehen, aber nicht den Kalenderkopf und auch nicht die 31.
Würdest du alles mit JavaScript ausgeben, würde diesem Benutzer zwar der Kalender fehlen, er würde aber keine zusammenhangslosen Fragmente desselben zu Gesicht bekommen.
Ich würde, im Gegensatz dazu, einen Aufbau des Kalenders mit einer serverseitigen Programmiersprache (z.B. Perl, PHP, Python ...) bevorzugen. Damit wäre sichergestellt, dass der Kalender überall dort angezeigt wird kann, wo HTML angezeigt werden kann.
> ~~~html
<table border="1"; width="239px"; id="tabelle";>
> <tr>
> </tr>
> <tr>
> <td>1</td>
> <td>2</td>
> <td>3</td>
> <td>4</td>
> <td>5</td>
> <td>6</td>
> <td>7</td>
> <td>8</td>
> <td>9</td>
> <td>10</td>
> </tr>
> <tr>
> <td>11</td>
> <td>12</td>
> <td>13</td>
> <td>14</td>
> <td>15</td>
> <td>16</td>
> <td>17</td>
> <td>18</td>
> <td>19</td>
> <td>20</td>
> </tr>
> <tr>
> <td>21</td>
> <td>22</td>
> <td>23</td>
> <td>24</td>
> <td>25</td>
> <td>26</td>
> <td>27</td>
> <td>28</td>
> <td>29</td>
> <td>30</td>
> </tr>
Fürwahr, ein ungewohnter Aufbau eines Kalenders.
<script type="text/javascript">
<!--
[code lang=javascript] if(monat =="0")
{
document.write("<tr>");
document.write("<td>31</td>");
document.write("</tr>");
}
else if(monat =="2")
{
document.write("<tr>");
document.write("<td>31</td>");
document.write("</tr>");
}
else if(monat =="4")
{
document.write("<tr>");
document.write("<td>31</td>");
document.write("</tr>");
}
else if(monat =="6")
{
document.write("<tr>");
document.write("<td>31</td>");
document.write("</tr>");
}
else if(monat =="8")
{
document.write("<tr>");
document.write("<td>31</td>");
document.write("</tr>");
}
else if(monat =="10")
{
document.write("<tr>");
document.write("<td>31</td>");
document.write("</tr>");
}
> //-->
> </script>
> </table>
> [/code]
Wie gesagt, der 31-er-Block fehlt dem Benutzer ohne JavaScript. Zudem fehlen der Tabelle die in den anderen Zeilen existierenden weiteren neun Tabellenzellen (es fehlt eine folgende Zelle `<td colspan="9">`{:.language-html} zum auffüllen).
Davon abgesehen ist die Zählung nicht korrekt. Wenn ich recht sehe, entspricht der Januar `monat=0`{:.language-javascript}. Nach Juli (monat=6) stimmt die Zählung nicht mehr, da der römische Kaiser Augustus, nach dem der Monat August benannt ist, nicht verknusen konnte, dass der vorausgehende Monat Juli, nach Gaius Julius Caesar, 31 Tage hatte, sein Monat jedoch nicht. Ab dem Monat August (monat=7) befinden sich die 31-Tage-Monate (nach deiner Zählung) auf den ungeraden Monaten (Oktober=9, Dezember=11).
Grundsätzlich ist dein Kalender, wie schon sinngemäß angemerkt, ungünstig aufgebaut. SELFHTML hat bei den Anwendungsbeispielen für JavaScript ein <http://de.selfhtml.org/javascript/beispiele/monatskalender.htm@title=Beispielskript für einen Kalender>. Der entspricht zwar auch nicht mehr dem Stand der Technik und moderner Methodik (das Skript ist schon recht alt), aber es hat pro Woche eine eigene Zeile, eine Markierung des aktuellen Tages, die Zuweisung der Daten zu den Wochentagen (siehe: <http://de.selfhtml.org/javascript/beispiele/anzeige/monatskalender.htm@title=Anzeige des Beispiels>; Javascript muss natürlich aktiviert sein) und im Archiv des Forums gibt es Diskussionen um das Skript und Erweiterungen desselben.
Probiers mal über die [Forumssuche](http://suche.de.selfhtml.org/cgi-bin/such.pl?suchausdruck=Selfhtml+javaScript+kalender&feld=alle&index_1=on&index_2=on&index_4=on&index_5=on&hits=alle), eventuell mit Variationen der Schreibweisen.
Tschö, Auge
--
Die deutschen Interessen werden am Liechtenstein verteidigt.
[Veranstaltungsdatenbank Vdb 0.2](http://termindbase.auge8472.de/)