Node
インターフェイスは、ドキュメントオブジェクトモデル全体の基本的なデータ型である。これは文書ツリー内の単一のノードを表す。 Node
インターフェイスを実装する全オブジェクトが子を扱うメソッドを持つが、 Node
インターフェイスを実装するオブジェクトの全てが子を持つわけではない。例えば、 Text
ノードは子を持たず、このようなノードへの子の追加は DOMException
を生じる。
プロパティ nodeName
, nodeValue
, attributes
は、特定の派生インターフェイスへキャストダウンせずにノートで情報を取得する機構として含まれている。特定の nodeType
のプロパティのはっきりしたマッピングがないケース(例えば、 Element
の nodeValue
や Comment
の attributes
)では、これは null
を返す。特化したインターフェイスが関連情報の取得と設定を行う付加的でより便利なメカニズムを含んでいるかもしれないことに注意。
これのノード型を示す整数、
Note: 200 までの数値は、将来の利用の可能性に備えW3Cが予約している。
ATTRIBUTE_NODE | ノードは Attr である。 |
CDATA_SECTION_NODE | ノードは CDATASection である。 |
COMMENT_NODE | ノードは Comment である。 |
DOCUMENT_FRAGMENT_NODE | ノードは DocumentFragment である。 |
DOCUMENT_NODE | ノードは Document である。 |
DOCUMENT_TYPE_NODE | ノードは DocumentType である。 |
ELEMENT_NODE | ノードは Element である。 |
ENTITY_NODE | ノードは Entity である。 |
ENTITY_REFERENCE_NODE | ノードは EntityReference である。 |
NOTATION_NODE | ノードは Notation である。 |
PROCESSING_INSTRUCTION_NODE | ノードは ProcessingInstruction である。 |
TEXT_NODE | ノードは Text ノードである。 |
nodeName
, nodeValue
, attributes
の値は、ノードの方によって次のように変化する:
Interface | nodeName | nodeValue | attributes |
---|---|---|---|
Attr | 属性名 | 属性値 | null |
CDATASection | #cdata-section | CDATAセクションの内容 | null |
Comment | #comment | 注釈宣言の内容 | null |
Document | #document | null | null |
DocumentFragment | #document-fragment | null | null |
DocumentType | 文書型名 | null | null |
Element | タグ名 | null | NamedNodeMap |
Entity | 実体名 | null | null |
EntityReference | 参照される実体名 | null | null |
Notation | 記法名 | null | null |
ProcessingInstruction | target | ターゲットを除く全体の内容 | null |
Text | #text | テキストノードの内容 | null |
attributes
NamedNodeMap
型, 読取専用
childNodes
NodeList
型, 読取専用
firstChild
Node
型, 読取専用
null
を返す。lastChild
Node
型, 読取専用
null
を返す。localName
DOMString
型, 読取専用
namespaceURI
DOMString
型, 読取専用
null
。ELEMENT_NODE
, ATTRIBUTE_NODE
以外の型のノードと Document
インターフェイスの createElement
のようなDOMレベル1メソッドで生成されたノードについては、これは常に null
である。
Note: Namespaces in XML 仕様 [Namespaces] により、属性は自分が付属する要素から名前空間を継承しない。属性が明示的に名前空間を与えられない時、それは単純に名前空間をもたない。
nextSibling
Node
型, 読取専用
null
を返す。nodeName
DOMString
型, 読取専用
nodeType
unsigned
short
型, 読取専用
nodeValue
null
が定義される時、これの設定は意味を持たない。DOMString
変数の適正よりも多くの文字が返されようとする時に派生。ownerDocument
Document
型, 読取専用
Document
オブジェクト。これは新たなノードの生成に用いる Document
オブジェクトでもある。このノードが Document
であるか、 Document
にまだ使用されていない DocumentType
であるならば、これは null
である。parentNode
Node
型, 読取専用
prefix
null
。nodeName
プロパティを、 Element
, Attr
インターフェイスの tagName
, name
プロパティとともに、適用可能な場合、変更することに注意。namespaceURI
と localName
が変わらないので、デフォルト値の新しい属性を作らず、もとの接頭辞が見えることにも注意。ELEMENT_NODE
, ATTRIBUTE_NODE
以外の型のノード、 Document
インターフェイスの createElement
のようなDOMレベル1メソッドで生成されたノードについては、これは常に null
を返す。prefix
が奇形(malformed)である場合、このノードの namespaceURI
が null
である場合、指定された接頭辞が "xml" であり、かつ namespaceURI
が "http://www.w3.org/XML/1998/namespace" ではない場合、このノードが属性で指定された接頭辞が "xmlns" であり、かつ namespaceURI
が "http://www.w3.org./2000/xmlns/" でない場合、このノードが属性でノードの qualifiedName
が "xmlns" [Namespaces] である場合に発生。previousSibling
Node
型, 読取専用
null
。appendChild
( newChild )このノードの子のリストの末尾に newChild
を追加する。 newChild
が既にツリー内にある場合は、まず取り除かれる。
DocumentFragment
オブジェクトである場合は、フラグメントの内容全体がこのノードの子のリスト内に移動する。Node 型。追加したノード。
newChild
ノードの型の子を許可しない場合、また追加するノードがこのノードの 祖先 のどれかである場合に発生。newChild
が生成された文書が、このノードが生成された文書と異なる場合に発生。cloneNode
( deep )このノードの複製を返す。即ちノードの一般的コピーコンストラクタとして提供される。複製されたノードは親を持たない; (parentNode
が null
である)。
Element
のクローニングは、XMLプロセッサが生成するデフォルトの属性を表すものを含めて全属性とその値をコピーするが、深いクローンでもない限りはこのメソッドはそれが内包するテキストをコピーしない。テキストは子 Text
ノードに包含されるからだ。 Attribute
の直接のクローニングは、 Element
のクローン操作の一部として複製されるのに対して、定義済み属性を (specified
が true
である) を返す。その他の型のノードのクローニングは単位このノードのコピーを返す。
不変の下位ツリーのクローニングは変更可能なコピーを生じるが、 EntityReference
クローンの子は 読取専用 であることに注意。加えて、未定義の Attr
ノードのクローンは定義済みである。そして、 Document
, DocumentType
, Entity
, Notation
ノードのクローニングは実装に依存する。
true
ならば、指定されたノード以下の下位ツリーを再帰的に複製する; false
ならば、そのノード自身(及び Element
の場合はその属性)のみを複製する。Node 型。複製されたノード。
hasAttributes
( )そのノードが(要素である場合、)属性を持つかどうかを返す。
boolean 型。そのノードが何らかの属性を持っていれば true
, そうでない場合は false
。
hasChildNodes
( )そのノードが子を持っているかどうかを返す。
boolean 型。このノードが何らかの子を持っていれば true
, そうでない場合は false
。
insertBefore
( newChild, refChild )既存の子ノード refChild
の前に、ノード newChild
を挿入する。 refChild
が null
ならば、 newChild
はこのリストの末尾に挿入される。
newChild
が DocumentFragment
オブジェクトの場合、その子全てが refChild
の前に同じ順序で挿入される。 newChild
が既にツリー内に存在する場合、それはまず削除される。
Node 型。挿入されているノード。
newChild
ノードの型の子を許可しない場合、また挿入するノードがこのノードの 祖先 である場合に発生。newChild
が生成された文書が、このノードが生成された文書と異なる場合に発生。refChild
がこのノードの子でない場合に発生。isSupported
( feature, version )DOM実装が特定の機能を実装していて、このノードでサポートされているかどうかを検査する。
DOMImplementation
上のメソッド hasFeature
に渡す名前と同じである。true
を返すメソッドになる。boolean 型。このノートで指定された昨日がサポートされていれば true
、そうでない場合は false
。
normalize
( )属性ノードを含め、この Node
下の下位ツリー内全ての深さにある Text
ノードを "normal" 形式にする。そこでは構造 (例. 要素, 注釈, 処理命令, CDATAセクション, 実体参照) だけが Text
ノードを分け, 即ち隣接する Text
ノードも空の Text
ノードも存在しない。これを使い、保存・再読込したかのように文書のDOMビューの等価性を保証できるし、特殊な文書ツリー構造に依存する操作 (XPointer [XPointer] lookup 等) が使われることになる際も有用である。
Note: 文書が CDATASections
を含む場合、正規化操作だけでは満足に動作しないかもしれない。XPointers は Text
ノードと CDATASection
ノードを区別しないからだ。
(無し)
removeChild
( oldChild )oldChild
で示される子ノードをこのリストから取り除き、それを返す。
Node 型。取り除いたノード。
oldChild
がこのノードの子でない場合に発生。replaceChild
( newChild, oldChild )子のリスト内の子ノード oldChild
を newChild
で置き換え、oldChild
ノードを返す。
newChild
が DocumentFragment
オブジェクトである場合、 oldChild
は DocumentFragment
の子全てに置き換えられ、同じ順序に挿入される。 newChild
が既にツリー内にあるときは、それが取り除かれる。
Node 型。置き換えられたノード。
newChild
ノードの型の子を許可しない場合、また置かれるノードがこのノードの 祖先 のどれかである場合に発生。newChild
が生成された文書が、このノードが生成された文書と異なる場合に発生。oldChild
が子のノードの子でない場合に発生。interface Node { // NodeType const unsigned short ELEMENT_NODE = 1; const unsigned short ATTRIBUTE_NODE = 2; const unsigned short TEXT_NODE = 3; const unsigned short CDATA_SECTION_NODE = 4; const unsigned short ENTITY_REFERENCE_NODE = 5; const unsigned short ENTITY_NODE = 6; const unsigned short PROCESSING_INSTRUCTION_NODE = 7; const unsigned short COMMENT_NODE = 8; const unsigned short DOCUMENT_NODE = 9; const unsigned short DOCUMENT_TYPE_NODE = 10; const unsigned short DOCUMENT_FRAGMENT_NODE = 11; const unsigned short NOTATION_NODE = 12; readonly attribute DOMString nodeName; attribute DOMString nodeValue; // raises(DOMException) on setting // raises(DOMException) on retrieval readonly attribute unsigned short nodeType; readonly attribute Node parentNode; readonly attribute NodeList childNodes; readonly attribute Node firstChild; readonly attribute Node lastChild; readonly attribute Node previousSibling; readonly attribute Node nextSibling; readonly attribute NamedNodeMap attributes; // Modified in DOM Level 2: readonly attribute Document ownerDocument; Node insertBefore(in Node newChild, in Node refChild) raises(DOMException); Node replaceChild(in Node newChild, in Node oldChild) raises(DOMException); Node removeChild(in Node oldChild) raises(DOMException); Node appendChild(in Node newChild) raises(DOMException); boolean hasChildNodes(); Node cloneNode(in boolean deep); // Modified in DOM Level 2: void normalize(); // Introduced in DOM Level 2: boolean isSupported(in DOMString feature, in DOMString version); // Introduced in DOM Level 2: readonly attribute DOMString namespaceURI; // Introduced in DOM Level 2: attribute DOMString prefix; // raises(DOMException) on setting // Introduced in DOM Level 2: readonly attribute DOMString localName; // Introduced in DOM Level 2: boolean hasAttributes(); };