HTMLAllCollection
Deprecated
Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.>
Die Schnittstelle HTMLAllCollection repräsentiert eine Sammlung aller Elemente des Dokuments, auf die per Index (wie bei einem Array) und über die id des Elements zugegriffen werden kann. Sie wird von der Eigenschaft document.all zurückgegeben.
HTMLAllCollection hat eine sehr ähnliche Struktur wie HTMLCollection, es gibt jedoch viele subtile Verhaltensunterschiede — beispielsweise kann HTMLAllCollection als Funktion aufgerufen werden, und seine Methode item() kann mit einem String aufgerufen werden, der das Attribut id oder name eines Elements repräsentiert.
Instanzeigenschaften
HTMLAllCollection.lengthSchreibgeschützt-
Gibt die Anzahl der Elemente in der Sammlung zurück.
Instanzmethoden
HTMLAllCollection.item()-
Gibt das Element an der angegebenen Position in der Sammlung oder das Element mit dem angegebenen Wert für sein Attribut
idodernamezurück. Gibtnullzurück, wenn kein Element gefunden wird. HTMLAllCollection.namedItem()-
Gibt das erste Element in der Sammlung zurück, dessen Attribut
idodernamemit dem angegebenen Stringnamen übereinstimmt, odernull, wenn kein Element übereinstimmt.
Verwendung in JavaScript
>Indizierter Zugriff
Zusätzlich zu den oben genannten Methoden kann auf Elemente in einer HTMLAllCollection über Ganzzahlindizes und String-Eigenschaftsnamen zugegriffen werden. Das HTML-Attribut id darf : und . als gültige Zeichen enthalten, wodurch für den Eigenschaftszugriff die Klammerschreibweise erforderlich sein kann. collection[i] entspricht collection.item(i), wobei i eine Ganzzahl, ein String mit einer Ganzzahl oder ein String sein kann, der eine id repräsentiert.
Aufruf als Funktion
Ein HTMLAllCollection-Objekt ist aufrufbar. Wenn es ohne Argumente oder mit undefined aufgerufen wird, gibt es null zurück. Andernfalls gibt es denselben Wert zurück wie die Methode item(), wenn sie mit denselben Argumenten aufgerufen wird.
Besonderes Verhalten bei der Typkonvertierung
Aus historischen Gründen ist document.all ein Objekt, das sich auf folgende Weise wie undefined verhält:
- Es ist nicht strikt gleich
undefinedundnull. - Es ist in booleschen Kontexten falsy.
- Sein
typeofist"undefined".
Diese besonderen Verhaltensweisen stellen sicher, dass Code wie folgender:
if (document.all) {
// Assume that we are in IE; provide special logic
}
// Assume that we are in a modern browser
Auch dann weiterhin modernes Verhalten bietet, wenn der Code in einem Browser ausgeführt wird, der document.all aus Kompatibilitätsgründen implementiert.
In allen anderen Kontexten bleibt document.all jedoch ein Objekt. Zum Beispiel:
- Es ist weder
undefinednochnullstrikt gleich. - Wenn es auf der linken Seite des Nullish-Coalescing-Operators (
??) oder des Optional-Chaining-Operators (?.) verwendet wird, führt es nicht dazu, dass der Ausdruck frühzeitig abbricht.
Spezifikationen
| Spezifikation |
|---|
| HTML> # the-htmlallcollection-interface> |