JavaScript Style Beispiel 2: Stylesheets in Abhängigkeit von Name oder Tag ändern

Im nun folgenden JavaScript-Beispiel werden wiederum Style-Eigenschaften von HTML-Elementen geändert. Auch hier wird, wie im letzen Beispiel, wieder ein Testelement (das unten definierte SPAN-Tag) verwendet. Die auszuführenden Aktionen werden auch diesmal durch Anklicken der beiden Links, die ebenfalls im unten stehenden Code-Beispiel definiert werden, angestoßen.

In der Funktion nameback() wird dann das HTML-Element ermittelt, auf das sich die Änderung im Stylesheet beziehen soll. Diesmal wird das Element aber durch die Methode getElementsByName() ermittelt. GetElementsByName liefert, anders als die Methode getElementById() alle Elemente, die den übergebenen Namen in ihrem name-Attribut tragen. Die Elemente werden dabei als Array zurückgeliefert. Der Zusatz [0] adressiert im Beispiel das erste Element im gelieferten Array – im Beispiel gibt es nur eines, wobei auch eine Merhfachvergabe dieses Namens denkbar ist. Auf die Style-Eigenschaften wird auch hier wieder über das unter dem Element-Objekt gelegene Style-Objekt – hier das CSS-Attribut "backgroundColor" – zugegriffen. Die zu setzende Hintergrundfarbe wird als hexadezimaler Farbwert in Form einer Zeichenkette angegeben.

Aufgabe der Funktion aback() ist es, alle im HTML-Dokument enthaltenen Elemente des Elementtyps A (alle Links) mit einem neuen Wert für die Hintergrundfarbe zu belegen. Hier kommt die Methode getElementsByTagName() zur Anwendung. Die Methode getElementsByTagName gehört ebenfalls zum in JavaScript vordefinierten Objekt Document. Auch hier wird wieder ein Array geliefert, welches diesmal alle HTML-Elemente des Dokuments enthält, die von Elementtyp a (Anchor) sind. Danach wird mittels For-Schleife die Hintergrundfarbe jedes einzelnen Links auf den angegebenen Farbwert gesetzt.

<span name="testelement_name">Inhalt des zweiten Elements</span><br />
<a href="javascript:aback()" title="">Hintergrundfarbe aller A-Tags &auml;ndern</a><br />
<a href="javascript:nameback()" title="">Hintergrundfarbe des Testelements mit dem Namen "testelement_name" &auml;ndern</a><br />
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Folgende Funktion ändert das erste im HTML-Dokument enthaltene Element,
// welches den Namen 'testelement_name' in seinem name-Attribut trägt.
function nameback () {
  // Setze die Hintergrundfarbe des Elements auf den Farbwert #ddd
  document.getElementsByName ('testelement_name')[0].style.backgroundColor = '#ddd';
}

// Funktion ändert den Farbwert der Hintergrundfarbe aller Links im
// HTML-Dokument.
function aback () {
  // Ermittle alle Elemente des Tag-Typs a
  var ps = document.getElementsByTagName ('a');
  // Für alle Elemente, die von diesem Typ sind...
  for (var i = 0; i < ps.length; i++)
    // setze die Hintergrundfarbe auf den neuen Wert.
    ps[i].style.backgroundColor = '#ccc';
}
// -->
</script>

Inhalt des zweiten Elements
Hintergrundfarbe aller A-Tags ändern
Hintergrundfarbe des Testelements mit dem Namen "testelement_name" ändern



¬ Insolvenzrecht