Das Lemma »#getElementsByClassName« [] (Das Lemma »#getElementsByClassName«), Lektion, Seite 723425
https://www.purl.org/stefan_ram/pub/getelementsbyclassname_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Das Lemma »#getElementsByClassName«

Beispieldokument für diese Lektion
userpage.fu-berlin.de/~ram/pub/xhtml_jf47ht81Ht/main
Auswertung
this.document.getElementsByClassName( 'w' ).length
2
Auswertung
this.document.getElementsByClassName( 'w' )[ 0 ].textContent
"Berta"
Auswertung
this.document.getElementsByClassName( 'w' )[ 1 ].textContent
"Dora"

Das Lemma »#getElementsByClassName« (Elemente via Namen der Klasse) wird durch die Sprachen »Document#« und »Element#« in praktisch der gleichen Weise beschrieben.

Inklusionsdiagramm zu »#getElementsByClassName«

Document > getElementsByClassName

Element > getElementsByClassName

Für das obige Beispiel ist die folgende Herleitung relevant.

Inklusionsdiagramm zu »Ⓖ.document.getElementsByClassName«
Ⓖ.document > Document > getElementsByClassName
#getElementsByClassName
Ergibt in der durch den Quelltext gegebenen Reihenfolge die Elemente, die direkt oder indirekt im Kontext des Aufrufs enthalten sind und die eine Klasse haben, deren Namen mit dem Argumentwert übereinstimmt.

Hier ist zu beachten, daß diese Funktion immer eine Auflistung  von Elementen ergibt. Dementsprechend findet sich im Namen dieser Funktion (wie auch schon bei »getElementsByTagName«) das Wort »Elements« im Plural mit »s«, während ja »getElementById« im Vergleich das Wort »Element« im Singular ohne »s« enthält.

Diese Funktion erlaubt es uns, alle Elemente einer bestimmten Klasse zu erhalten, wann immer dies als nützlich empfunden wird.

Da diese Funktion nicht nur zur Sprache eines Dokuments gehört, sondern auch zur Sprache jedes Elements, können wir sie auch mit einem Element als Kontext verwenden, wie im folgenden Beispiel.

Auswertung
this.document.getElementById( 'zweite' ).getElementsByClassName( 'w' ).length
1
Auswertung
this.document.getElementById( 'zweite' ).getElementsByClassName( 'w' )[ 0 ].outerHTML
"<li class="d e w">Dora</li>"
Quelle
www.w3.org/TR/2015/REC-dom-20151119/

Es ist im allgemeine effizienter (wird schneller abgearbeitet), wenn der Wert sich wiederholender komplexer Ausdrücke (Ausdrücke mit Operatoren oder Aufrufen), die bei ihren Wiederholungen immer denselben Wert haben müssen, einmal in eine Variable geschrieben wird und wenn dann diese Variable an Stelle der Wiederholungen des komplexen Ausdrucks verwendet wird.

Auswertung

el = this.document.getElementById( 'zweite' ).getElementsByClassName( 'w' )

el.length

1
Auswertung
el[ 0 ].outerHTML
"<li class="d e w">Dora</li>"

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723425 stefan_ram:723425 Das Lemma »#getElementsByClassName« Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723425, slrprddef723425, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/getelementsbyclassname_javascript