HTMLAllCollection
Deprecated
Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.>
Das HTMLAllCollection-Interface repräsentiert eine Sammlung von allen Elementen des Dokuments, die sowohl über einen Index (wie ein Array) als auch über das id des Elements zugänglich sind. Es wird durch die document.all-Eigenschaft zurückgegeben.
HTMLAllCollection hat eine sehr ähnliche Struktur wie HTMLCollection, aber es gibt viele subtile Verhaltensunterschiede – zum Beispiel kann HTMLAllCollection als Funktion aufgerufen werden, und die item()-Methode kann mit einem String aufgerufen werden, der das id- oder name-Attribut eines Elements darstellt.
Instanz-Eigenschaften
HTMLAllCollection.lengthSchreibgeschützt-
Gibt die Anzahl der Elemente in der Sammlung zurück.
Instanz-Methoden
HTMLAllCollection.item()-
Gibt das Element an der angegebenen Position in der Sammlung zurück oder das Element, dessen
id- odername-Attribut dem angegebenen Wert entspricht. Gibtnullzurück, wenn kein Element gefunden wird. HTMLAllCollection.namedItem()-
Gibt das erste Element in der Sammlung zurück, dessen
idodername-Attribut dem angegebenen String-Namen entspricht, odernull, wenn kein Element übereinstimmt.
Verwendung in JavaScript
>Indizierter Zugriff
Zusätzlich zu den oben genannten Methoden können Elemente in einer HTMLAllCollection über ganzzahlige Indizes und String-Eigenschaftsnamen zugegriffen werden. Das HTML-id-Attribut kann : und . als gültige Zeichen enthalten, was die Verwendung von Klammernotation für den Eigenschaftszugriff erfordern würde. collection[i] entspricht collection.item(i), wobei i eine Ganzzahl, ein String, der eine Ganzzahl enthält, oder ein String, der ein id darstellt, sein kann.
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 wie die item()-Methode zurück, wenn dieselben Argumente übergeben werden.
Spezielles Typkonvertierungsverhalten
Aus historischen Gründen ist document.all ein Objekt, das in den folgenden Weisen wie undefined funktioniert:
- Es ist lose gleich zu
undefinedundnull. - Es ist in booleschen Kontexten falsch.
- Sein
typeofist"undefined".
Diese speziellen Verhaltensweisen stellen sicher, dass Code wie:
if (document.all) {
// Assume that we are in IE; provide special logic
}
// Assume that we are in a modern browser
weiterhin modernes Verhalten bietet, selbst 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 nicht streng gleich zu
undefinedodernull. - Wenn es auf der linken Seite des Nullish-Koaleszenz-Operators (
??) oder des Optional-Chaining-Operators (?.) verwendet wird, wird es nicht dazu führen, dass der Ausdruck kurzgeschlossen wird.
Spezifikationen
| Spezifikation |
|---|
| HTML> # the-htmlallcollection-interface> |