HTMLAllCollection

非推奨;: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

HTMLAllCollection インターフェイスは文書のすべての要素の集合を表します。(配列風の)インデックスと要素の id によってアクセスします。これは document.all プロパティで返されます。

HTMLAllCollectionHTMLCollection と非常によく似た形をしていますが、多くの微妙な動作の違いがあります。例えば、HTMLAllCollection は関数として呼び出すことができ、その item() メソッドは要素の id または name 属性を表す文字列で名付けることができます。

インスタンスプロパティ

HTMLAllCollection.length 読取専用

集合内のアイテムの数を返します。

インスタンスメソッド

HTMLAllCollection.item()

コレクション内の指定したオフセットに位置する要素、または id 属性または name 属性に指定した値を持つ要素を返します。要素が見つからない場合は null を返します。

HTMLAllCollection.namedItem()

指定された文字列名と id または name 属性が一致する、集合内の最初の要素、または一致する要素がない場合は null を返します。

JavaScript での使用法

インデックスでのアクセス

上記のメソッドに加えて、HTMLAllCollection の要素には整数のインデックスや 文字列のプロパティ名でアクセスすることができます。HTML の id 属性は :. を有効な文字として格納することができるので、プロパティへのアクセスにブラケット記法を使用する必要があります。ここで i は整数、整数を格納する文字列、または id を表す文字列です。

関数として呼び出す

HTMLAllCollection オブジェクトは呼び出し可能です。引数なし、または undefined で呼び出された場合は null を返します。それ以外の場合は、同じ引数を指定された item() メソッドと同じ値を返します。

特殊な型変換の挙動

歴史的な理由から、document.all は以下のように undefined のように振る舞うオブジェクトです。

  • undefinednull緩い等価です。
  • 論理値コンテキストでは偽値です。
  • typeof"undefined" です。

これらの特別な動作によって、次のようなコードを保証します。

js
if (document.all) {
  // おそらく IE。特別なロジックを提供
}
// おそらく現在のブラウザー

互換性のために document.all を実装しているブラウザーでコードを実行しても、現行のブラウザー動作を提供し続けます。

しかし、他のすべてのコンテキストでは document.all はオブジェクトのままです。例えば次の通りです。

仕様書

Specification
HTML Standard
# the-htmlallcollection-interface

ブラウザーの互換性

BCD tables only load in the browser

関連情報