電脳あんず資料館 > OPBOX > HTMLメモ > DOM

DOM

DOM Level2 仕様の一部抜粋。メソッドの綴りが覚えられない鳥頭さん用。インターフェイス自体も個人のシュミで取捨選択してますが、その上なお個人的に使用頻度の低そうなメソッドやプロパティなんかもどしどし省略してますので、ご利用の際にはくれぐれもご注意願います。日本語は原文の訳では全くもってありませんので決して信用してはいけません。

出典:Document Object Model Core(Document Object Model (DOM) Technical Reports, W3C)

Node

DOM におけるオブジェクトの基礎になるものです。複数の子 Node を持つことができますが、Text ノードだけは子を持ちません。

プロパティ
attributes
読み取り専用。この Node が Element である場合、保有する全ての属性を、名引きで参照可能な NamedNodeMap として返します。この Node が Element でない場合は null 値を返します。
previousSibling
読み取り専用。この Node の直前にある Node を返します。該当するものがなければ null 値を返します。
nextSibling
読み取り専用。この Node の直後に続く Node を返します。該当するものがなければ null 値を返します。
childNodes
読み取り専用。この Node の子である Node 配列を格納した NodeList を返します。子 Node が存在しない場合は長さ0の配列を返します。
firstChild
読み取り専用。この Node の子である Node 配列の先頭にあたる Node を返します。子 Node が存在しない場合は null 値を返します。
lastChild
読み取り専用。この Node の子である Node 配列の最後にあたる Node を返します。子 Node が存在しない場合は null 値を返します。
parentNode
読み取り専用。この Node の親である Node オブジェクトを返します。この Node が AttrDocument・DocumentFragment・Entity・Notation のいずれかのオブジェクトでなければ必ず親の Node が存在しますが、まだ文書ツリー内に追加されていないか、ツリーから削除されている場合には null 値を返します。
ownerDocument
DOM Level 2 で変更。読み取り専用。この Node に関連付けられた Document オブジェクトを返します。この Node が Document オブジェクトそのものであるか、まだ関連付けられていない DocumentType オブジェクトである場合は null 値を返します。
nodeType

読み取り専用。この Node の種類を unsigned short 型で返します。

オブジェクト名nodeType の値
AttrATTRIBUTE_NODE
DocumentDOCUMENT_NODE
ElementELEMENT_NODE
TextTEXT_NODE
nodeName

読み取り専用。この Node の名前を DOMString 型で返します。種類によって返す値は異なります。

オブジェクト名nodeName の値
Attr属性の名前
Document#document
Elementタグの名前(Element.tagName)
Text#text
nodeValue

この Node の値を DOMString 型でやり取りできます。種類によってやりとりできる値は異なります。

オブジェクト名nodeValue の値
Attr属性の値
Documentnull
Elementnull
Text文字の内容
設定時の例外
DOMException。この Node が読み取り専用だった場合に発生します。
参照時の例外
DOMException。返される値が DOMString の実装時の範囲に収まらない場合に発生します。
メソッド
appendChild

指定された Node を既存の子 Node の後に追加します。

入力
newChild
追加する Node。この値が既にこの Node の子であった場合、一度削除された後改めて最後尾に追加されます。
戻り値
追加された Node。
例外

DOMException。以下のいずれかの場合に発生します。

  • 指定された「newChild」が、この Node の子として設定できない型であるか、この Node の祖先に当たる場合。
  • 指定された「newChild」の生成元が、この Node の属する文書とは関係ない場合。
  • この Node が読み取り専用である場合。
insertBefore

指定された Node を、この Node の既存の子 Node の前に挿入します。

入力
newChild
挿入する Node。この値が既にこの Node の子であった場合、一度削除された後改めて最後尾に追加されます。
refChild
「newChild」が挿入される位置を示す既存の子 Node。この値が null 値である場合、「newChild」は最後尾に追加されます。
戻り値
挿入された Node。
例外

DOMException。以下のいずれかの場合に発生します。

  • 指定された「newChild」が、この Node の子として設定できない型であるか、この Node の祖先に当たる場合。
  • 指定された「newChild」の生成元が、この Node の属する文書とは関係ない場合。
  • 指定された「refChild」がこの Node の子ではない場合。
  • この Node が読み取り専用である場合。
removeChild

指定された Node をこの Node の子から削除します。

入力
oldChild
削除する Node。
戻り値
削除された Node。
例外

DOMException。以下のいずれかの場合に発生します。

  • 指定された「oldChild」がこの Node の子ではない場合。
  • この Node が読み取り専用である場合。
replaceChild

この Node の子 Node を、指定された Node と入れ換えます。

入力
newChild
挿入する Node。この値が既にこの Node の子であった場合、一度削除された後改めて挿入されます。
oldChild
入れ換えられる Node。
戻り値
入れ換えられた Node。
例外

DOMException。以下のいずれかの場合に発生します。

  • 指定された「newChild」が、この Node の子として設定できない型であるか、この Node の祖先に当たる場合。
  • 指定された「newChild」の生成元が、この Node の属する文書とは関係ない場合。
  • 指定された「oldChild」がこの Node の子ではない場合。
  • この Node が読み取り専用である場合。
cloneNode

この Node の複製を返します。複製された Node は親を持ちません。parentNode プロパティの値は null 値となります。

入力
deep
複製方法を示す boolean。true ならば、この Node が持つ子 Node も含めて複製します。false の場合はこの Node 自身(設定されている属性とその値も含む)だけを複製します。
戻り値
複製された新しい Node。
例外
発生しません。
hasChildNodes

この Node が子 Node を持つか否かを取得する。

入力
ありません。
戻り値
子 Node の有無を示す boolean。子 Node を持っていれば true、なければ false。
例外
発生しません。
Document

文書ツリーの頂点です。Node を継承しています。当然ですが一つの文書中に1つしか現れません。

プロパティ
doctype
読み取り専用。DocumentType 型の値を返します。
documentElement
読み取り専用。この文書を Element 型で返します。
メソッド
createAttribute

属性を新しく作ります。

入力
name
DOMString 型。属性の名前を設定します。
戻り値
作成された Attr。このオブジェクトの nodeName の値はパラメータ「name」で指定した値と同じものが設定されています。
例外
DOMException。指定された「name」に不正な文字が含まれていた場合に発生します。
createElement

要素を新しく作ります。

入力
tagName
DOMString 型。要素のタグ名を設定します。小文字で指定されても問題ありませんが、なるべく大文字で指定したほうがいいです。
戻り値
作成された Element。このオブジェクトの nodeName の値は「tagName」で指定した値と同じものが設定されています。
例外
DOMException。指定された「tagName」に不正な文字が含まれていた場合に発生します。
createTextNode

文字を新しく作ります。

入力
data
DOMString 型。作成する文字の内容を指定します。
戻り値
作成された Text オブジェクト。
例外
発生しません。
getElementById

DOM Level 2 新規。この文書内にある、指定された id 属性を持つ要素を返します。

入力
elementId
DOMString 型。取得したい要素の id 属性の値を指定します。
戻り値
「elementId」で指定された id 属性の値を持つ Element 。該当するものがない場合は null 値を返します。
例外
発生しません。
getElementsByTagName

この文書ツリー内にある、指定されたタグ名を持つ要素の配列を返します。

入力
tagName
DOMString 型。取得したい要素のタグ名を指定します。「*」を指定すると、全てのタグに一致します。
戻り値
「tagName」で指定されたタグの名称を持つ Element の配列を格納した NodeList 。
例外
発生しません。
Element

HTML 文書や XML 文書の要素をあらわします。Node を継承しています。各属性の値は Node から継承している attributes プロパティを使って参照することができます。

プロパティ
tagName
読み取り専用。タグ名を DOMString 型で返します。HTML文書の場合は常に大文字になります。XMLの場合には大文字・小文字の変換は行われません。
メソッド
getAttribute

指定された名称を持つ属性の値を返します。

入力
name
値を取得する属性の名称をあらわす DOMString。
戻り値
指定された名称を持つ属性の値である DOMString。該当する属性がないか、規定値の設定がない属性である場合は空の文字列を返します。
例外
発生しません。
getAttributeNode

指定された名称を持つ Attr を取得する。

入力
name
取得する属性 Node の nodeName プロパティ値と同じ DOMString。
戻り値
指定された値を nodeName として持つ Attr。該当するものがないか、「name」の値が null 値の場合は null 値を返す。
例外
発生しません。
setAttribute

指定された名称・値を持つ属性を追加します。同じ名称の属性がこの Element に既に存在する場合は、値が置き換わります。設定できる値は単純な文字列だけなので、複雑な情報を値として登録する場合には setAttributeNode を用いる必要があります。

入力
name
値を設定する属性の名称ををあらわす DOMString。
value
値として設定したい DOMString。
戻り値
ありません。
例外

DOMException。以下のいずれかの場合に発生します。

  • 指定された「name」に不正な文字が含まれていた場合。
  • この Element が読み取り専用である場合。
setAttributeNode

指定された Attr を追加します。同じ名称(nodeName)を持つ Attr がこの Element に既に存在する場合、指定された Attr と置き換えられます。

入力
newAttr
追加する Attr
戻り値
追加された Attr
例外

DOMException。以下のいずれかの場合に発生します。

  • 指定された「newAttr」の生成元が、この Element の属する文書とは関係ない場合。
  • この Element が読み取り専用である場合。
  • 指定された「newAttr」が、別の Element の属性である場合。複製したものであれば追加できます。
removeAttribute

指定された名称を持つ属性を削除します。削除された属性が規定値を持つ場合、直後に規定値が設定されます。

入力
name
削除する属性の名称をあらわす DOMString。
戻り値
ありません。
例外
DOMException。この Element が読み取り専用の場合に発生します。
removeAttributeNode

この Element の持つ、指定された Attr を削除します。削除された Attr が規定値を持つ場合、直後に規定値が設定されます。

入力
oldAttr
削除する Attr
戻り値
削除された Attr
例外

DOMException。以下のいずれかの場合に発生します。

  • この Element が読み取り専用である場合。
  • 指定された「oldAttr」がこの Element の属性ではない場合。
getElementsByTagName

この Element の子孫にあたる、指定されたタグ名を持つ要素の配列を返します。

入力
tagName
DOMString 型。取得したい要素のタグ名を指定します。「*」を指定すると、全てのタグに一致します。
戻り値
「tagName」で指定されたタグの名称を持つ Element の配列を格納した NodeList 。
例外
発生しません。
Attr

Element の属性をあらわします。Node を継承しています。継承してはいますが実際には Element の子 Node ということではないので親も隣も存在しません。従って、Node から継承しいている parentNodepreviousSiblingnextSibling は全て null 値を返します。

プロパティ
name
読み取り専用。この Attr の属性名を DOMString で返します。
value
この Attr の属性値を DOMString で返します。実体参照を含む場合は値に置き換えた状態で返されます。
ownerElement
DOM Level 2 新規。読み取り専用。この Attr の属する Element を返します。使われていない場合は null 値を返します。
Text

ElementAttr の「値」を構成する文字列です。CharacterData を継承しています(Node 継承ではないので注意)。

電脳あんず資料館 > OPBOX > HTMLメモ > DOM