1. 2.5 共通DOMインターフェイス
      1. 2.5.1 IDL属性におけるコンテンツ属性の反映
      2. 2.5.2 コレクション
        1. 2.5.2.1 HTMLAllCollectionインターフェイス
        2. 2.5.2.2 HTMLFormControlsCollectionインターフェイス
        3. 2.5.2.3 HTMLOptionsCollectionインターフェイス
      3. 2.5.3 DOMStringListインターフェイス

2.5 共通DOMインターフェイス

2.5.1 IDL属性におけるコンテンツ属性の反映

反映の構成要素は次のとおり:

反映されたIDL属性は、反映されたターゲット反映されたコンテンツ属性名反映するように定義できる。通常、これは、IDL属性ゲッターがcontent属性の現行値を返し、セッターがコンテンツ属性の値を指定された値に変更することを意味する。

反映されたターゲットが要素である場合、反映されたIDL属性はさらにサポートElementInternalsを宣言できる。これは、ElementInternalsインターフェイスにも、同じ識別子をもつ反映されたIDL属性を持ち、反映されたIDL属性は同じ反映されたコンテンツ属性名反映することを意味する。

fooBar IDL属性は、fooBarコンテンツ属性を反映し、ElementInternalsをサポートしなければならない。

2.5.2 コレクション

HTMLFormControlsCollectionおよびHTMLOptionsCollectionインターフェイスは、HTMLCollectionインターフェイスから派生するコレクションである。HTMLAllCollectionインターフェイスはコレクションであるが、派生ではない。

2.5.2.1 HTMLAllCollectionインターフェイス

HTMLAllCollectionインターフェイスは、レガシーdocument.all属性に対して使用される。このインターフェイスは、HTMLCollectionと類似の動作をする。主な違いは、このインターフェイスが完全に最後には何かを返すことになるためにそのメソッドの驚くほどさまざまな異なる(不正)利用を可能にし、プロパティアクセスの代替としての機能として呼び出すことができることということである。

すべてのHTMLAllCollectionオブジェクトは、Documentでルート化され、すべての要素とマッチするフィルターを持つ。その結果HTMLAllCollectionオブジェクトのコレクションによって表される要素は、ルートDocumentのすべての子孫要素から成る。

HTMLAllCollectionインターフェイスを実装するオブジェクトには、[[IsHTMLDDA]]内部スロットを持つという事実のために、いくつかの独特な動作を持つ。

これらの特別な振る舞いは、レガシーコンテンツの2つのクラスとの互換性への要望によって動機付けられている:1つはレガシーユーザーエージェントを検出する手段としてdocument.allの存在を利用するものであり、もう1つはそれらのレガシーユーザーエージェントのみをサポートし、その存在を最初にテストすることなくdocument.allオブジェクトを利用するもののである。[JAVASCRIPT]

2.5.2.2 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

RadioNodeList/value

Support in all current engines.

Firefox33+Safari7+Chrome21+
Opera?Edge79+
Edge (Legacy)12+Internet Explorer9+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

radioNodeListで表される最初にチェックされたラジオボタンの値を返す。

radioNodeList.value = value

valueを持つradioNodeListで表される最初の最初のラジオボタンをチェックする。

2.5.2.3 HTMLOptionsCollectionインターフェイス

HTMLOptionsCollection

Support in all current engines.

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer6+
Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

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内のインデックスindexoption要素に選択を変更する。

2.5.3 DOMStringListインターフェイス

DOMStringList

Support in all current engines.

Firefox1+Safari5.1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

DOMStringListインターフェイスは、文字列のリストを表現する非流行のレトロな方法である。

strings.length

DOMStringList/length

Support in all current engines.

Firefox1+Safari5.1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

strings内の文字列の数を返す。

strings[index]
strings.item(index)

DOMStringList/item

Support in all current engines.

Firefox1+Safari5.1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

stringsからインデックスindexをもつ文字列を返す。

strings.contains(string)

DOMStringList/contains

Support in all current engines.

Firefox1.5+Safari5.1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

stringsstringが含まれる場合はtrueを返し、そうでなければfalseを返す。