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

Letzte Posts aus unserem Forum

Script Schrift vergrößern

Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr

von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 22. April 2010 18:05 von alm

Hallo, damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr

Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr

von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Dienstag, 23. Februar 2010 14:07 von horst1234

Ich hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr

Dynamisches einfügen von Zeilen in eine Spalte

Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr

von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Donnerstag, 11. Februar 2010 10:37 von Bluecaspar

Ja genau, das war der Fehler. Vielen Dank Alex. Hier der korrigierte Code: <html> <head> <title> Test ... » mehr

Fenster in Frame erzeugen

Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr

von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 10. Februar 2010 09:32 von Bluecaspar

Ja hervorragend, dass ist genau das was ich möchte. Danke ... » mehr

Problem: Kombination mit Lightbox 2

Hallo, ich bin gerade dabei die Galerie mit der Lightbox 2 zu verknüpfen, da ich die Bilder im Vollformat gerne in diesem schicken aufpoppenden ... » mehr

von GoPeter am Montag, 16. November 2009 23:38 in JavaScript - bisher 16 Antworten
Letzter Beitrag: Mittwoch, 18. November 2009 00:32 von GoPeter

Soo...hat lange gedauert...aber jetzt ist es endlich ... » mehr



¬ Insolvenzrecht