HTMLAllCollection
非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。
HTMLAllCollection
インターフェイスは文書のすべての要素の集合を表します。(配列風の)インデックスと要素の id
によってアクセスします。これは document.all
プロパティで返されます。
HTMLAllCollection
は HTMLCollection
と非常によく似た形をしていますが、多くの微妙な動作の違いがあります。例えば、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
のように振る舞うオブジェクトです。
これらの特別な動作によって、、次のようなコードを保証します。
if (document.all) {
// おそらく IE。特別なロジックを提供
}
// おそらく現在のブラウザー
互換性のために document.all
を実装しているブラウザーでコードを実行しても、現行のブラウザー動作を提供し続けます。
しかし、他のすべてのコンテキストでは document.all
はオブジェクトのままです。例えば次の通りです。
- これは
undefined
やnull
と厳密等価ではありません。 - null 合体演算子 (
??
) やオプショナルチェーン演算子 (?.
) の左辺に使用しても、式が短絡することはありません。
仕様書
Specification |
---|
HTML Standard # the-htmlallcollection-interface |
ブラウザーの互換性
BCD tables only load in the browser