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属性がコンテンツ属性の現在値を返し、そのIDL属性が与えられた値にコンテンツ属性の値を変更することを意味する。

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

Returns the number of elements in collection.

element = collection.item(index)
element = collection[index]

Returns the item at index index in collection. アイテムはツリー順にソートされる。

element = collection.namedItem(name)
radioNodeList = collection.namedItem(name)
element = collection[name]
radioNodeList = collection[name]

Returns the item with ID or name name from collection.

複数のマッチするアイテムが存在する場合、それらの要素すべてを含むRadioNodeListオブジェクトが返される。

radioNodeList.value

RadioNodeList/value

Support in all current engines.

Firefox33+Safari10+Chrome34+
OperaYesEdge79+
Edge (Legacy)18Internet ExplorerYes
Firefox Android33+Safari iOS9+Chrome AndroidYesWebView Android37+Samsung InternetYesOpera AndroidYes

Returns the value of the first checked radio button represented by radioNodeList.

radioNodeList.value = value

Checks the first first radio button represented by radioNodeList that has value value.

2.5.2.3 HTMLOptionsCollectionインターフェイス

HTMLOptionsCollection

Support in all current engines.

Firefox1+Safari3+Chrome1+
OperaYesEdge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android4+Safari iOS1+Chrome Android18+WebView Android37+Samsung Internet1.0+Opera AndroidYes

HTMLOptionsCollectionインターフェイスは、option要素のコレクションに使用される。常にselect要素がルートであり、要素の子孫をコントロールする属性およびメソッドを持つ。

collection.length

Returns the number of elements in collection.

collection.length = value

When set to a smaller number than the existing length, truncates the number of option elements in the container corresponding to collection.

When set to a greater number than the existing length, adds new blank option elements to the container corresponding to collection.

element = collection.item(index)
element = collection[index]

Returns the item at index index in collection. アイテムはツリー順にソートされる。

collection[index] = element

When index is a greater number than the number of items in collection, adds new blank option elements in the corresponding container.

When set to null, removes the item at index index from collection.

When set to an option element, adds or replaces it at index index in collection.

element = collection.namedItem(name)
element = collection[name]

Returns the item with ID or name name from collection.

複数のマッチするアイテムが存在する場合、最初のものが返される。

collection.add(element[, before])

beforeによって与えられるノードの前の要素を挿入する。

The before argument can be a number, in which case element is inserted before the item with that number, or an element from collection, in which case element is inserted before that element.

beforeが省略された、null、または範囲外の数字の場合、elementはリストの最後に加えられるだろう。

Throws a "HierarchyRequestError" DOMException if element is an ancestor of the element into which it is to be inserted.

collection.remove(index)

Removes the item with index index from collection.

collection.selectedIndex

もしあるならば、最初に選ばれたアイテムのインデックスを、または選択したアイテムが存在しない場合−1を返す。

collection.selectedIndex = index

Changes the selection to the option element at index index in collection.

2.5.3 DOMStringListインターフェイス

DOMStringList

Support in all current engines.

Firefox1+Safari5.1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android4+Safari iOS5+Chrome Android18+WebView Android37+Samsung Internet1.0+Opera Android12.1+

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

strings.length

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

strings[index]
strings.item(index)

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

strings.contains(string)

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