Edition for Web Developers — Last Updated 14 January 2025
反映の構成要素は次のとおり:
反映されたターゲットは、要素またはElementInternals
オブジェクトである。これは一般的にコンテキストから明らかであり、反映されたIDL属性のインタフェイスと一般的にまったく同じである。ElementInternals
オブジェクトである場合、常にそのインタフェイスと同じである。
反映されたIDL属性は、属性インターフェイスのメンバーである。
反映されたコンテンツ属性名は文字列である。反映されたターゲットが要素である場合、名前空間がnullであるコンテンツ属性のローカル名を表す。反映されたターゲットがElementInternals
オブジェクトである場合、それは反映されたターゲットのターゲット要素の内部コンテンツ属性マップのキーを表す。
反映されたIDL属性は、反映されたターゲットの反映されたコンテンツ属性名を反映するように定義できる。通常、これは、IDL属性ゲッターがcontent属性の現行値を返し、セッターがコンテンツ属性の値を指定された値に変更することを意味する。
反映されたターゲットが要素である場合、反映されたIDL属性はさらにサポートElementInternals
を宣言できる。これは、ElementInternals
インターフェイスにも、同じ識別子をもつ反映されたIDL属性を持ち、反映されたIDL属性は同じ反映されたコンテンツ属性名を反映することを意味する。
fooBar
IDL属性は、fooBar
コンテンツ属性を反映し、ElementInternals
をサポートしなければならない。
HTMLFormControlsCollection
およびHTMLOptionsCollection
インターフェイスは、HTMLCollection
インターフェイスから派生するコレクションである。HTMLAllCollection
インターフェイスはコレクションであるが、派生ではない。
HTMLAllCollection
インターフェイスHTMLAllCollection
インターフェイスは、レガシーdocument.all
属性に対して使用される。このインターフェイスは、HTMLCollection
と類似の動作をする。主な違いは、このインターフェイスが完全に最後には何かを返すことになるためにそのメソッドの驚くほどさまざまな異なる(不正)利用を可能にし、プロパティアクセスの代替としての機能として呼び出すことができることということである。
すべてのHTMLAllCollection
オブジェクトは、Document
でルート化され、すべての要素とマッチするフィルターを持つ。その結果HTMLAllCollection
オブジェクトのコレクションによって表される要素は、ルートDocument
のすべての子孫要素から成る。
HTMLAllCollection
インターフェイスを実装するオブジェクトには、[[IsHTMLDDA]]内部スロットを持つという事実のために、いくつかの独特な動作を持つ。
HTMLAllCollection
インターフェイスを実装している指定されるオブジェクトの場合、JavaScriptのToBoolean抽象演算はfalseを返す。
IsLooselyEqual操作は、HTMLAllCollection
インターフェイスを実装しているオブジェクトが指定される場合、undefined
およびnull
値と比較するときtrueを返す。(IsStrictlyEqual抽象操作と、文字列やオブジェクトなどの他の値とのIsLooselyEqual比較を使用した比較は影響を受けない)。
JavaScriptにおけるtypeof
演算子は、HTMLAllCollection
インターフェイスを実装しているオブジェクトに適用する場合、文字列"undefined"
を返す。
これらの特別な振る舞いは、レガシーコンテンツの2つのクラスとの互換性への要望によって動機付けられている:1つはレガシーユーザーエージェントを検出する手段としてdocument.all
の存在を利用するものであり、もう1つはそれらのレガシーユーザーエージェントのみをサポートし、その存在を最初にテストすることなくdocument.all
オブジェクトを利用するもののである。[JAVASCRIPT]
HTMLFormControlsCollection
インターフェイスHTMLFormControlsCollection
インターフェイスは、form
要素で記載要素のコレクションに使用される。
collection.length
collectionの要素数を返す。
element = collection.item(index)
element = collection[index]
collectionのインデックスindexにあるアイテムを返す。アイテムはツリー順にソートされる。
element = collection.namedItem(name)
radioNodeList = collection.namedItem(name)
element = collection[name]
radioNodeList = collection[name]
collection.からのIDまたはname
nameとともにアイテムを返す。
複数のマッチするアイテムが存在する場合、それらの要素すべてを含むRadioNodeList
オブジェクトが返される。
radioNodeList.value
Support in all current engines.
radioNodeListで表される最初にチェックされたラジオボタンの値を返す。
radioNodeList.value = value
値valueを持つradioNodeListで表される最初のラジオボタンをチェックする。
HTMLOptionsCollection
インターフェイスSupport in all current engines.
HTMLOptionsCollection
インターフェイスは、option
要素のコレクションに使用される。常にselect
要素がルートであり、要素の子孫をコントロールする属性およびメソッドを持つ。
collection.length
collectionの要素数を返す。
collection.length = value
既存の長さよりも小さい数に設定するとき、collectionに対応するコンテナー内のoption
要素の数が切り捨てられる。
既存の長さよりも大きい数に設定するとき、その数が100000以下の場合、collectionに対応するコンテナーに新しい空のoption
要素を追加する。
element = collection.item(index)
element = collection[index]
collectionのインデックスindexにあるアイテムを返す。アイテムはツリー順にソートされる。
collection[index] = element
indexがコレクションで項目の数より大きい数である場合、対応するコンテナーで新しい空白のoption
要素を追加する。
nullに設定する場合、collectionからインデックスindexで項目を削除する。
option
要素に設定するとき、collectionのインデックスindexで追加または置換される。
element = collection.namedItem(name)
element = collection[name]
collection.からのIDまたはname
nameとともにアイテムを返す。
複数のマッチするアイテムが存在する場合、最初のものが返される。
collection.add(element[, before])
beforeによって与えられるノードの前の要素を挿入する。
before引数は数字でもよく、その場合elementはその数字をもつアイテムの前に挿入され、またはcollectionからの要素でもよい。その場合elementはその要素の前に挿入される。
beforeが省略された、null、または範囲外の数字の場合、elementはリストの最後に加えられるだろう。
elementに挿入された要素が親要素である場合、"HierarchyRequestError
" DOMException
を投げる。
collection.remove(index)
collectionからのインデックスindexをもつ項目を削除する。
collection.selectedIndex
もしあるならば、最初に選ばれたアイテムのインデックスを、または選択したアイテムが存在しない場合−1を返す。
collection.selectedIndex = index
collection内のインデックスindexのoption
要素に選択を変更する。
DOMStringList
インターフェイスSupport in all current engines.
DOMStringList
インターフェイスは、文字列のリストを表現する非流行のレトロな方法である。
strings.length
Support in all current engines.
strings内の文字列の数を返す。
strings[index]
strings.item(index)
Support in all current engines.
stringsからインデックスindexをもつ文字列を返す。
strings.contains(string)
Support in all current engines.
stringsにstringが含まれる場合はtrueを返し、そうでなければfalseを返す。