Im folgenden Beispiel wird der lesende, sowie der schreibende Zugriff auf die CSS-Attribute eines HTML-Elements demonstriert. Dazu werden, nach der Definition eines Ausgabeelements (SPAN-Tag), welches mit der ID "testelement_id" gekennzeichnet ist (über diese ID wird das Element später angesprochen), drei Links definiert, die durch Anklicken durch den Benutzer unterschiedliche Aktionen durchführen sollen. Dem SPAN-Element wird zugleich eine Style-Eigenschaft mitgegeben – die Schriftgröße wird auf 1.2em gesetzt, womit die entsprechende Eigenschaft im Style-Objekt mit diesem Wert initialisert wird.
Der erste Link nutzt das JavaScript-Objekt Event. Über das Event onClick, das auftritt wenn der Benutzer auf den Link klickt, wird dem Testelement die CSS-Klasse f zugewiesen und damit die im Style-Bereich darüber definierten CSS-Styles zur Darstellung herangezogen. Diese Zuweisung ändert allerdings nicht die im Style-Objekt des Elements gespeicherten Werte – die als CSS-Klasse definierten CSS-Attribute werden also nicht in das JavaScript Style-Objekt übernommen. Mehr noch: Bereits im Style-Attribut des SPAN-Tags definierte Eigenschaften bleiben erhalten und die in der CSS-Klasse definierten Angaben haben keinerlei Auswirkung mehr auf das Layout. Gleiches gilt für den Fall, dass ein CSS-Attribut mittels Style-Objekt per JavaScript initialisiert wurde. Auch hier wirkt sich ein nachträglich gesetzter Wert zur CSS-Klasse nicht mehr auf die initialisierten CSS-Attribute aus – an der Darstellung ändert sich also nichts. Mit den beiden anderen Links werden Funktionen verknüpft, welche die Style-Eigenschaften des Testelements ausgeben bzw. bestimmte Eigenschaften der CSS-Attribute setzen.
Die erste Funktion im Scriptbereich dient der Ausgabe einiger CSS-Attribute. Zunächst wird über die dem JavaScript-Objekt Document zugehörige Methode getElementById() das HTML-Element ausgewählt, welches untersucht werden soll. Wurde das entsprechende Element gefunden, so werden – falls die jeweiligen CSS-Attribute existieren – die Style-Daten aus dem Style-Objekt des Elements ausgelesen und zu einer Meldung (gespeichert in einer Variablen vom Typ String) zusammengesetzt. Über die Methode alert() des vordefinierten JavaScript-Objekts Window werden die gesammelten Daten am Ende der Funktion ausgegeben.
In der zweiten Funktion wird die Style-Eigenschaft border des Testelements auf einen neuen Wert gesetzt. Auch hier wird, wie bereits in der Funktion getCSSInfo(), zu allererst das zu manipulierende HTML-Element ermittelt. Wird dieses Element gefunden, so setzt die Funktion das Border-Attribut des Style-Objekts auf den Wert "1px solid black", was einem 1 Punkt breiten, schwarzen und durchgezogenen Rahmen entspricht. Nachdem diese Zuweisung erfolgt ist, wird die Darstellung des Testelements mit dem angegebenen Rahmen durch den Browser aktualisiert.
<style>
.f { font-size:2em; color:green; }
</style>
<span id="testelement_id" style="font-size:1.2em;">Inhalt des ersten Elements</span><br />
<a onclick="document.getElementById ('testelement_id').className = 'f'" title="">Element mit definierter CSS-Klasse formatieren</a><br />
<a href="javascript:getCSSInfo()" title="">CSS-Infos zu testelement_id anzeigen</a><br />
<a href="javascript:addBorder()" title="">Rahmen zu testelement_id hinzufügen</a><br />
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// CSS-Informationen des HTML-Elements mit der ID testelement_id
// ermitteln und in einer Dialog-Box ausgeben
function getCSSInfo () {
// Element über seine ID ermitteln
var e = document.getElementById ('testelement_id');
// Wurde überhaupt ein Element mit der angegebenen ID gefunden?
if (e) {
// Variable zur Zusammenstellung der auszugebenden Meldung
var msg = '';
// Schriftgröße des Elements ermitteln
msg += 'Fontsize von Element testelement_id: ' + e.style.fontSize + '\n';
// Wenn nicht feststeht, dass Style-Angaben definiert sind muss
// zuvor auf Existenz des Attributes getestet werden.
if (e.style.border)
// Rahmen ist definiert => Infos durch auslesen der
// Eigenschaft ermitteln
msg += 'Rahmeneigenschaft von testelement_id: ' + e.style.border + '\n';
else
// Keine CSS-Angaben zum Rahmen für das Element definiert
msg += 'Bisher sind keine Rahmeninfos zu testelement_id definiert!\n';
// Gleiches für die CSS-Eigenschaft color
if (e.style.color)
msg += 'Schriftfarbe von testelement_id: ' + e.style.color;
else
msg += 'Bisher ist keine Schriftfarbe zu testelement_id definiert!';
// Ausgabe der ermittelten Informationen in einem Alert-Dialog
alert (msg);
}
}
// Rahmen mit Hilfe einer CSS-Formatierung für das Testfeld definieren
function addBorder () {
// Element über seine ID ermitteln
var e = document.getElementById ('testelement_id');
// Wurde überhaupt ein Element mit der angegebenen ID gefunden?
if (e)
// Rahmen-Attribut für das Element initialisieren
e.style.border = '1px solid black';
}
// -->
</script>
Inhalt des ersten Elements
Element mit definierter CSS-Klasse formatieren
CSS-Infos zu testelement_id anzeigen
Rahmen zu testelement_id hinzufügen
¬ Menu
¬ Gratis Download
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp

JavaScript, Das umfassende Referenzwerk
Weitere JavaScript Literaturtipps finden Sie unter JavaScript Bücher
Webdesign •
Beratung Internetseite •
Programmierung Internetseite