DOM Level 2 リファレンス (Core+XML)

DOMException

例外。

DOMExceptionのサンプル

メソッド・属性名 解説
code unsigned short 発生したエラーの型を表す整数

DOMExceptionに宣言されている定数はめんどいので書きませんでしたが、必要なら仕様書読んでください。 実際のブラウザの実装を見る限り使わない方が無難っぽいですが。

DOMImplementation

DOMの実装。DOMの具体的なインスタンスとは独立に働くメソッドが集められている。

DOMImplementationのサンプル

メソッド・属性名 解説 X 第1引数の型 第2引数の型 第3引数の型
hasFeature(feature, version) boolean 特定の機能(feature)をversionのもとで実装しているか試験する。 - DOMString DOMString -
createDocumentType(qualifiedName, publicId, systemId) DocumentType 空のDocumentTypeノードを生成する。今のところ使い道はない。 X DOMString DOMString DOMString
createDocument(namespaceURI, qualifiedName, doctype) Document doctype(null可)を文書型とする新しいXMLドキュメントを生成する。 X DOMString DOMString DocumentType
createCSSStyleSheet(title, media) CSSStyleSheet 文書のと関係ない新しいCSSStyleSheetを生成する。今のところ使い道はない。mediaにはメディアをコンマで区切ったリストを記す。 X DOMString DOMString -

NodeList

Nodeの順序付きの集合。具体的には、NodeインタフェースのchildNodes属性、DocumentノードやElementノードのgetElementsByTagName, getElementsByTagNameNSメソッドがこの値を取る。つまり、itemメソッドで取得できるものは、getElementsByTagName, getElementsByTagNameNSメソッドからはElementノードのみ、childNodes属性からはElement, Text, Comment, CDATASection, DocumentType, ProcessingInstruction, EntityReference, Entity, Notationノードのいずれかである。

NodeListのサンプル

メソッド・属性名 解説 RO 引数の型
item(index) Node index番目のNode。有効でなければnull - unsigned long
length unsigned long 集合に含まれるNodeの個数。 RO -

NamedNodeMap

特定の順序は持たないが、名前によって識別可なNodeの集合である。具体的には、Elementノードのattributes属性、DocumentTypeノードのentities, notations属性がこの値を取る。つまり、このインタフェースのメソッドで返されるノードとはつまりAttr, Entity, Notationノードのいずれかである。

NamedNodeMapのサンプル

メソッド・属性名 解説 RO,X 第1引数の型 第2引数の型
getNamedItem(name) Node 名前(name)によって指定された(同じNodeインタフェースのnodeName属性を持つ)ノード。識別されない場合null - DOMString -
setNamedItem(arg) Node 新たなノード(arg)をこのNamedNodeMapに加え、同名のノードがあった場合は上書きして古いノードを返す、同名のノードがなければ単純に追加してnullを返す。 X Node -
removeNamedItem(name) Node nameに指定されるノードをNamedNodeMapから取り除いて返す。取り除いた後は、デフォルトの属性値があれば現れる。 X DOMString -
getNamedItemNS(namespaceURI, localName) Node 指定されたノードを取り出す。識別されない場合null - DOMString DOMString
setNamedItemNS(arg) Node 新たなノード(arg)をこのNamedNodeMapに加え、同名のノードがあった場合は上書きして古いノードを返す、同名のノードがなければ単純に追加してnullを返す。 X Node -
removeNamedItemNS(namespaceURI, localName) Node nameに指定されるノードをNamedNodeMapから取り除いて返す。取り除いた後は、デフォルトの属性値があれば現れる。 X DOMString DOMString
item(index) Node index番目のNode。有効でなければnull - unsigned long -
length unsigned long 集合に含まれるNodeの個数。 RO - -

Node

文書のツリー構造のパーツであるノード。具体的には12のノードタイプのインタフェースのいずれかである。

Nodeのサンプル

メソッド・属性名 解説 RO,X 第1引数の型 第2引数の型
nodeName DOMString
インタフェース nodeName nodeValue nodeType 親になれる 子になれる
Element タグ名 null 1 = ELEMENT_NODE ○(Element, Text, Comment, CDATASection, EntityReference, ProcessingInstruction) ○(Document, DocumentFragment, Element)
Attr 属性の名前 属性の値 2 = ATTRIBUTE_NODE × ×
Text "#text" テキストノードの内容 3 = TEXT_NODE × ○(Document, DocumentFragment, Element)
CDATASection "#cdata-section" CDATAセクションの内容 4 = CDATA_SECTION_NODE × ○(Document, DocumentFragment, Element)
EntityReference 参照された実体の名前 null 5 = ENTITY_REFERENCE_NODE × ○(Document, DocumentFragment, Element)
Entity 実体名 null 6 = ENTITY_NODE × ○(DocumentType)
ProcessingInstruction ターゲット ターゲットを除く内容全体 7 = PROCESSING_INSTRUCTION_NODE × ○(Document, DocumentFragment, Element)
Comment "#comment" 注釈の内容 8 = COMMENT_NODE × ○(Document, DocumentFragment, Element)
Document "#document" null 9 = DOCUMENT_NODE ○(Element, Text, Comment, CDATASection, EntityReference, DocumentType, ProcessingInstruction) ×
DocumentType 文書型名 null 10 = DOCUMENT_TYPE_NODE ○(Entity, Notation) ○(Document)
DocumentFragment "#document-fragment" null 11 = DOCUMENT_FRAGMENT_NODE ○(Element, Text, Comment, CDATASection, EntityReference, ProcessingInstruction) ×
Notation 記法名 null 12 = NOTATION_NODE × ○(DocumentType)
RO - -
nodeValue DOMString XS,XR - -
nodeType unsigned short RO - -
parentNode Node 親ノード。文書木に加わっていないときはnull RO - -
childNodes NodeList すべての子ノードの集合。子ノードがない場合は要素数0のNodeList。 RO - -
firstChild Node 最初の子ノード。存在しないときはnull RO - -
lastChild Node 最後の子ノード。存在しないときはnull RO - -
previousSibling Node 直前の兄弟ノード。存在しないときはnull RO - -
nextSibling Node 直後の兄弟ノード。存在しないときはnull RO - -
ownerDocument Document このノードに関連付けられたDocumentノード。関連付けられていないときはnull RO - -
namespaceURI DOMString ノードの名前空間URI。指定されていない場合はnull RO - -
prefix DOMString ノードの名前空間接頭辞。指定されていない場合はnull XS - -
localName DOMString 修飾された名前の局所部分。 RO - -
insertBefore(newChild, refChild) Node このノードの子として、既存の子ノードrefChildの前にnewChildを挿入し、newChildを返す。 X Node Node
replaceChild(newChild, oldChild) Node このノードの子であるoldChildnewChildで置き換え、oldChildを返す。 X Node Node
removeChild(oldChild) Node このノードの子であるoldChildを取り除いて、返す。 X Node -
appendChild(newChild) Node newChildを子ノードの一番最後に付け加え、返す。 X Node -
cloneNode(deep) Node この子ノードの複製を返す。deeptrueならば、孫以下のノードも保持した状態。 - boolean -
hasChildNodes() boolean 子ノードが存在するかどうかを返す。 - - -
normalize() void 子孫ノードにTextノードが隣接している状態があれば統合して1つのTextノードにする(正規形式にする)。TextインタフェースのsplitTextメソッドの逆にあたる操作。 - - -
isSupported(feature, version) boolean 機能(feature)がこのノードで実装されているかどうかを試験する。DOMImplementationインタフェースのhasFeatureメソッドも参考。 - DOMString DOMString
メソッド・属性名 解説 X 第1引数の型 第2引数の型 第3引数の型
addEventListener(type, listener, useCapture) void このノードへ、typeのイベント型で発火するイベントリスナlistenerを登録する。typeで使える文字列についてはEventを継承するインターフェースで定義される。useCapturetrueならば、イベント捕獲リスナ(子孫のノードに登録されたイベントリスナより前に割り込んで実行されるリスナ)として登録することを示す。type, useCaptureの両方がすでに存在するリスナと同じであった場合、上書きされる。IE6ではこれは使えないが、似たような働きをするattachEvent(type, listener)を用いる(ただしtypeの値の頭に"on"を付ける必要あり)。 - DOMString EventListener boolean
removeEventListener(type, listener, useCapture) void ノードからイベントリスナを除去する。取り除きたいイベントリスナのuseCaptureの値が違えば、別々のイベントリスナとして扱われるので、useCapturetruefalseの2つが登録されていればそれぞれ取り除く必要がある。IE6ではこれは使えないが、似たような働きをするdetachEvent(type, listener)を用いる(ただしtypeの値の頭に"on"を付ける必要あり)。 - DOMString EventListener boolean
dispatchEvent(evt) boolean 実装しているイベントモデルへのイベントの送り付けを可能にする。実装によって直接に送り付けられたイベントと同じ振る舞いをする。イベントを取り扱うリスナがEventインタフェースのpreventDefaultメソッドを呼び出した場合には、返値はfalseとする。 X Event - -

DocumentFragment

"軽量の"、"小さい"Document、と定義されているものの、ちょっと特殊なNodeと言う方が実態に近い。通常のdocumentツリー内には絶対に入らないものの、一時的にノードを蓄えて、appendChild等のメソッドの引数となることでdocumentに子ノードを渡す役割を持つ。

継承:Node

DocumentFragmentのサンプル

Document

XML(HTML)文書の全体を表現する。文書木のルートであり、文書のデータへの基本的なアクセスになる。ECMAScriptではdocumentキーワードがこれを表す。

継承:Node

サンプルはいちいち作りません。いろんなところに実例が散らばってるので。

メソッド・属性名 解説 RO,X 第1引数の型 第2引数の型
doctype DocumentType この文書に関連付けられた文書型宣言 RO - -
implementation DOMImplementation この文書を取り扱うDOMImplementationオブジェクト RO - -
documentElement Element 文書のルートとなる要素。HTML文書ならばhtml要素である。 RO - -
createElement(tagName) Element それぞれのノードを作成する。文書ツリー内にはまだ配置されていない。 X DOMString -
createAttribute(name) Attr X DOMString -
createDocumentFragment() DocumentFragment - - -
createTextNode(data) Text - DOMString -
createComment(data) Comment - DOMString -
createCDATASection(data) CDATASection X DOMString -
createProcessingInstruction(target, data) ProcessingInstruction X DOMString DOMString
createEntityReference(name) EntityReference X DOMString -
createElementNS(namespaceURI, qualifiedName) Element それぞれのノードを作成する。文書ツリー内にはまだ配置されていない。NodeインタフェースのnodeName属性、ElementインタフェースのtagName属性、Attrインタフェースのname属性にはqualifiedNameが、NodeインタフェースのnamespaceURI属性にはnamespaceURIが入り、Nodeインタフェースのprefix属性とlocalname属性はqualifiedNameから抽出される(prefixはnullの場合あり)。 X DOMString DOMString
createAttributeNS(namespaceURI, qualifiedName) Attr X DOMString DOMString
getElementsByTagName(tagname) NodeList 文書内でtagnameのタグ名をもつElementを、文書の先頭から出現した順に集めたものを返す。tagname"*"を指定するとすべてのタグ名を表す。 - DOMString -
getElementsByTagNameNS(namespaceURI, localName) NodeList 文書内で該当するタグ名をもつElementを、文書の先頭から出現した順に集めたものを返す。 - DOMString -
getElementById(elementId) Element elementIdのIDを持つElementを返す。存在しない場合はnullを返す。 - DOMString -
importNode(importedNode, deep) Node 他の文書のノードをこの文書にインポートする。インポートされたノードが返され、またこれは親をもたないノードである。deeptrueであると、 子孫のノードがすべてインポートされる。なお、IE6以前ではサポートされていないので関数を自前で用意する必要あり。 X Node boolean
defaultView AbstractView このDocumentのためのデフォルトAbstractView。Viewが利用できない場合にはnull RO - -
styleSheets StyleSheetList 文書中のすべてのスタイルシートのリスト。HTML文書ではlink要素で取り込まれる外部スタイルシートとstyle要素内スタイルシートを含む。 RO - -
getOverrideStyle(elt, pseudoElt) CSSStyleDeclaration ある要素(擬似要素;存在しなければnullでよい)に対する上書きスタイル宣言を取得する - Element DOMString
createEvent(eventType) Event eventTypeによって指定されたインタフェース型の新しいEventを返す。eventTypeの文字列としては"UIEvents", "MouseEvents", "MutationEvents", "HTMLEvents"が定義されている。 EventがNodeインタフェースのdispatchEventメソッド経由で送り付けられることになっている場合には,適切なイベント初期化(init)メソッドが,Eventの値を初期化するために生成した後で呼び出されなければならない。 X DOMString -
createRange() Range 新しいRangeオブジェクト。生成時には、境界点は開始点、終了点ともにこのDocumentの一番前にある。このDocumentノードか、このDocumentをownerDocument属性に持つDocumentFragmentノード・Attrノードにおいてのみ使用可能である。 - - -
メソッド名 解説 X 第1引数の型 第2引数の型 第3引数の型 第4引数の型 第5引数の型
createNodeIterator(root, whatToShow, filter, entityReferenceExpansion) NodeIterator 新しいNodeIteratorオブジェクト。 X Node unsigned long NodeFilter boolean -
createTreeWalker(root, whatToShow, filter, entityReferenceExpansion) TreeWalker 新しいTreeWalkerオブジェクト。 X Node unsigned long NodeFilter boolean -
createExpression(expression, resolver) XPathExpression resolverで名前空間を解決したXPath表現expressionの表す新しいXPathExpressionオブジェクト。例外はXPathException(expressionが解釈できないとき)かDOMException(名前空間を解決できないとき)。 X DOMString XPathNSResolver - - -
createNSResolver(nodeResolver) XPathNSResolver ノードnodeResolverを基準として名前空間を解決する。DOM Level 3 Coreで定義されるlookupNamespaceURI風の動作をする。 - Node - - - -
evaluate(expression, contextNode, resolver, type, result) XPathResult document.createExpression(expression, resolver).evaluate(contextNode, type, result) と同じ。XPathExpressionevaluateメソッドを参照。 X DOMString Node XPathNSResolver unsigned short XPathResult

Element

XML(HTML)文書における要素

継承:Node

メソッド・属性名 解説 RO,X 第1引数の型 第2引数の型
tagName DOMString 要素の名前。NodeインタフェースのnodeName属性と同じ。 RO - -
attributes NamedNodeMap この要素の属性の集合。 RO - -
getAttribute(name) DOMString 属性名がnameである属性値が、明示的にまたは初期値としてあれば、取り出す。なければ空文字列。 - DOMString -
setAttribute(name, value) void 属性名がnameである属性に値を設定する。 X DOMString DOMString
removeAttribute(name) void 属性名がnameである属性を取り除く。属性の初期値が決まっていれば取り除いた後に現れる。 X DOMString -
getAttributeNode(name) Attr 属性名がnameである属性を取り出す。存在しない場合null - DOMString -
setAttributeNode(newAttr) Attr newAttrをこの要素に追加・置換する。置き換えた場合、置き換え前の属性を返す。追加の場合はnullを返す。 X Attr -
removeAttributeNode(oldAttr) Attr oldAttrをこの要素から取り除き、返す。属性の初期値が決まっていれば取り除いた後に現れる。 X Attr -
getElementsByTagName(name) NodeList この子孫から要素名がnameである要素を集めた集合。 - DOMString -
hasAttributes() boolean この要素に属性が設定されているかどうか。 - - -
hasAttribute(name) boolean この要素に属性名nameの属性が明示的にまたは初期値として存在するかどうか。 - DOMString -
メソッド・属性名 解説 X 第1引数の型 第2引数の型 第3引数の型
getAttributeNS(namespaceURI, localName) DOMString 指定された名前の属性値が、明示的にまたは初期値としてあれば、取り出す。なければ空文字列。 - DOMString DOMString -
setAttributeNS(namespaceURI, qualifiedName, value) void 指定された名前の属性に値を設定する。 X DOMString DOMString DOMString
removeAttributeNS(namespaceURI, localName) void 指定された名前の属性を取り除く。属性の初期値が決まっていれば取り除いた後に現れる。 - DOMString DOMString -
getAttributeNodeNS(namespaceURI, localName) Attr 指定された名前の属性を取り出す。存在しない場合null - DOMString DOMString -
setAttributeNodeNS(newAttr) Attr newAttrをこの要素に追加・置換する。置き換えた場合、置き換え前の属性を返す。追加の場合はnullを返す。 X Attr - -
getElementByTagNameNS(namespaceURI, localName) NodeList この子孫にある指定された名前の要素の集合。 - DOMString DOMString -
hasAttributeNS(namespaceURI, localName) boolean この要素に指定された名前の属性が明示的にまたは初期値として存在するかどうか。 - DOMString DOMString -

Attr

Elementオブジェクトにおける属性を表現する。

継承:Node

メソッド・属性名 解説 RO,X
name DOMString この属性の名前 RO
specified boolean この属性が元の文書で明示的に値を与えられなかった場合はtrue、そうでない場合はfalse RO
value DOMString 属性の値。文字参照及び一般的な実体参照は、それらの値に置き換えられる XS
ownerElement Element この属性を保持するElementノード RO

CharacterData

DOMの文字データにアクセスするための抽象インタフェース、DOMはこれ自体は実装しない。以下で文字数を数える場合(offset, count)は必ず0から数える。

継承:Node 参考:TextComment

メソッド・属性名 解説 RO,X 第1引数の型 第2引数の型 第3引数の型
data DOMString 実際の文字データ。nodeValue属性(Nodeインタフェース)と同じ値になる。 XS,XR - - -
length unsigned long 文字データの数。これは0、すなわちCharacterDataノードが空であってもよい。 RO - - -
substringData(offset, count) DOMString ノードからデータの範囲を抽出する。指定された部分文字列を返す。 X unsigned long unsigned long -
appendData(arg) void ノードの文字データの最後に文字列を付加する。 X DOMString - -
insertData(offset, arg) void 指定された位置に文字列を挿入する。 X unsigned long DOMString -
deleteData(offset, count) void ノードから指定する範囲の文字列を取り除く。 X unsigned long unsigned long -
replaceData(offset, count, arg) void 指定された範囲の文字群を新たな文字列で置き換える。 X unsigned long unsigned long DOMString

Text

ElementAttrの内容である文字データ(テキストデータ)を表現する。

継承:CharacterData - Node

メソッド・属性名 解説 X 引数の型
splitText(offset) Text このノードを、offset文字目で2つのノードに分離し、現在のノードにoffset文字目までの内容が残り、offset文字目以降の内容を含んだテキストノードが返される。元のノードが親を持っている場合、後半は兄弟のノードとして挿入される。 X unsigned long

CDATASection

<![CDATA[]]>で囲まれたCDATAセクション。この間の文字は解釈されない。(<があってもタグ開始と見なされない、&amp;等の文字参照も置き換えられない)

継承:Text - CharacterData - Node

Comment

<!---->で囲まれたコメント。

継承:CharacterData - Node

DocumentType

文書のDTD。編集は今のところサポートされず(属性はすべてRO)。

継承:Node

メソッド・属性名 解説
name DOMString DTDの名前。すなわち,DOCTYPEキーワードの直後の名前。
entities NamedNodeMap DTDで宣言されたEntityを含むNamedNodeMap。
notations NamedNodeMap DTDで宣言されたNotationを含むNamedNodeMap。
publicId DOMString 外部サブセットの公開識別子。
systemId DOMString 外部サブセットのシステム識別子。
internalSubset DOMString 文字列としての内部サブセット。

Notation

DTDの中で宣言された記法(<!ELEMENT title (#PCDATA)>など)。編集は今のところサポートされず(属性はすべてRO)。

継承:Node

メソッド・属性名 解説
publicId DOMString この記法の公開識別子。公開識別子が指定されていない場合にはnull
systemId DOMString この記法のシステム識別子。システム識別子が指定されていなかった場合にはnull

Entity

解析対象実体又は解析対象外実体のいずれかを表現する。実体それ自体をモデル化する。<!ENTITY foo "fooooooo">など。編集は今のところサポートされず(属性はすべてRO)。

継承:Node

メソッド・属性名 解説
publicId DOMString 指定する場合には,実体に関連する公開識別子。公開識別子を指定しない場合には,これはnullとする。
systemId DOMString 指定する場合には,実体に関連するシステム識別子。システム識別子を指定しない場合には,これはnullとする。
notationName DOMString 解析対象外実体に対しては,その実体のための記法の名前とする。解析対象実体に対しては,これはnullとする。

EntityReference

実体参照。<!ENTITY foo "fooooooo">という実体がDTDで定義されていれば、実体参照は&foo;となり、 これは展開されて"fooooooo"という文字列になる。

継承:Node

ProcessingInstruction

XML文書中に特定のソフトウェアへの命令を埋め込む、処理命令。<?ターゲット 処理内容?>で表される。

継承:Node

メソッド・属性名 解説 RO,X
target DOMString 処理命令のターゲット。処理命令を開始するマーク付けの前の最初のトークンとしてこれを定義する。 RO
data DOMString この処理命令の内容 XS
sheet StyleSheet スタイルシート処理命令の場合(<?xml-stylesheet?>)、このノードの表すスタイルシート。 RO