JavaScript DOM API予備(整理)
9829 ワード
文書オブジェクトモデル
ドキュメントオブジェクトモデル(Doucment Object Model,DOM)は、ドキュメント(HTMLドキュメント、XMLドキュメントなど)と、ドキュメントを構成する様々な要素とのアクセス、操作を示すアプリケーションインターフェースです.DOMでは、HTMLドキュメントの階層構造をツリー構造として表現しています.ツリーのノードは、ドキュメント内のさまざまなコンテンツを表します.
Domの中ではすべてNodeの対象です.
Element、Text Node、Attribute、CommtはすべてNodeのサブクラスです.つまり、Nodeオブジェクトのすべての属性と方法は、Element、TextNode、Attribute、Compmentに適用され、Element、Text Node、Attribute、Compmentに対して特殊な属性と方法を提供しています.
ノードインターフェースは、巡回および操作ツリーのための属性と方法を定義しています.
NodeオブジェクトのchildNodes属性は、サブノードのリストNodeListオブジェクトに戻り、first Child、lastChild、nextSibling、previous Sibling、parent Node属性は、ツリーを巡回する方法を提供する.apped Child()、removeChild()、replacceChild(old,new)とinsertBefore()の方法は、ドキュメントツリーにノードを追加したり、ドキュメントからノードを削除したりすることができます.
Nodeノードはどうやって巡回しますか?
Node属性の中には、Java.util.Listのサブクラスではなく、NodeオブジェクトのセットであるchildNodes属性がありますが、どのように使用されますか?オブジェクトは、属性と方法を提供し、NodeListのセットにトラバースを提供するために非常に便利である. length属性は、NodeListのうちどれぐらいのnodeオブジェクトがあるかを指摘する. item(index)方法は、childNodesオブジェクト中の第index位置におけるNodeオブジェクトを検索することができる. 例(Java文法):
常用ノードタイプ
<!--&菗13;
@import url(http://files.cnblogs.com/nayitian/mystyle.css)&13;
-->
インターフェース
nodeType定数
nodeType値
Element
Node.ELLENT_NODE
1
Text
ノード.TEXT_NODE
3
Dcument
ノード.DOCUMENT_NODE
9
コメント
Node.C.OMMENT_NODE
8
DcumentFragment
ノード.DOCUMENT_FRAGMENTNODE
11
Attr
ノード.ATTRIBUTE_NODE
2
Nodeオブジェクトの属性
属性
説明
IE
F
O
W 3 C
baseURI
ノードの絶対基準URIを返します.
No.
1
No.
はい
childNodes
ノードからサブノードのノードリストを返します.
5
1
9
はい
first Child
ノードの最初のサブノードを返します.
5
1
9
はい
lastChild
ノードの最後のサブノードを返します.
5
1
9
はい
local Name
ノードのローカル名を返します.
No.
1
9
はい
name spaceURI
ノードの名前空間URIを返します.
No.
1
9
はい
nextSibling
ノードの直後に続く同級ノードを返します.
5
1
9
はい
nodeName
ノードの名前を返し、その種類に応じて返します.
5
1
9
はい
nodeType
ノードのタイプを返します.
5
1
9
はい
nodeValue
ノードの値を設定または戻し、その種類に応じて.
5
1
9
はい
owner Dcument
ノードのルート要素を返します.
5
1
9
はい
parent Node
ノードの親ノードを返します.
5
1
9
はい
prefix
ノードの名前空間プレフィックスを設定または返します.
No.
1
9
はい
previous Sibling
ノードの直前に続く同級ノードを返します.
5
1
9
はい
text Content
ノードとその子孫のテキスト内容を設定または返信します.
No.
1
No.
はい
テキスト
ノードとその子孫のテキスト(IE特有の属性)を返します.
5
No.
No.
No.
xml
ノードとその子孫のXML(IE特有の属性)を返します.
5
No.
No.
No.
Nodeオブジェクトの方法
方法
説明
IE
F
O
W 3 C
apped Child()
ノードのサブノードリストの末尾に新しいサブノードを追加します.
5
1
9
はい
clone Node()
ノードをコピーします
5
1
9
はい
compredocument Position()
二つのノードのドキュメント位置を比較します.
No.
1
No.
はい
get Feature(feature、version)
DOMオブジェクトを返します.このオブジェクトは、指定された特性とバージョンを有する特定のAPIを実行することができます.
No.
はい
getsUserData(key)
このノードのキーに関連するオブジェクトを返します.このオブジェクトは、まず同じキーを使ってsetUserDataを呼び出すことによって、このノードに設定されなければなりません.
No.
はい
has Attributes()
現在のノードが属性を持っているかどうかを判断します.
No.
1
9
はい
has Child Nodes()
現在のノードがサブノードを持っているかどうかを判断する.
5
1
9
はい
insertBefore()
指定されたサブノードの前に新しいサブノードを挿入します.
5
1
9
はい
isDefault Namespace(URI)
指定された名前空間URIがデフォルトかどうかを返します.
No.
はい
isEqualNode()
二つのノードが等しいかどうかをチェックします.
No.
No.
No.
はい
isSameNode()
二つのノードが同じノードかどうかチェックします.
No.
1
No.
はい
isSupported()
現在のノードがサポートしている特性を返します.
9
はい
lookupNamespaceURI()
指定されたプレフィックスにマッチする名前空間URIを返します.
No.
1
No.
はい
lookuplefix()
指定された名前空間URIにマッチするプレフィックスを返します.
No.
1
No.
はい
normalize()
隣接するTextノードを統合し、空いているTextノードを削除する.
5
1
9
はい
removeChild()
現在のノードの指定されたサブノードを削除(およびリターン)します.
5
1
9
はい
replacceChild()
新しいノードでサブノードを置換します.
5
1
9
はい
selectNodes()
選択されたノードにはXPS表現で照会します.
6
selectSingleNode()
XPSクエリと一致するノードを検索します.
6
transform Node()
XSLTを使用して、ノードを一つの文字列に変換します.
6
tranform NodeToObject()
XSLTを使用して、ノードをドキュメントに変換します.
6
setsUserData(key,data,handler)
オブジェクトをノードのキーに関連付ける.
No.
はい
DOM APIは、ドキュメント内の要素を参照する方法を提供する.
getElements ByTagName(var tagName)
NodeListオブジェクト(NodeListオブジェクトの挙動は配列と似ています.この関数はtagNameで指定された要素名で構成される配列を返すと考えられます.)を返します.どのタイプのHTML要素のリストが得られますか?なお、HTMLマークは大文字と小文字を区別していないので、この方法に渡す文字列も大文字と小文字を区別していません.「*」をgetElementsByTagName()に送ると、ドキュメント内のすべての要素のリストに戻り、ドキュメント内に表示される順番で順番が変わります.
getElemenntById(var id)
この方法は、一致するID属性を有する要素を返す.DockmentオブジェクトとElementオブジェクトはこの2つの方法を持っています.
DOMツリーのルートノードは、ドキュメントのルート要素を示すElementオブジェクトを参照するDcumentオブジェクトです.ほとんどのDOMツリーは、マーク(例えば、<html>と<i>)を示すElementオブジェクトと、テキスト列を表すTextオブジェクトから構成されている.
Elementインターフェースのget Attribute()方法、set Attribute()方法とremoveAttribute()方法は、要素の性質を調べ、設定し、削除することができます.
本論文の参考:
http://blog.sina.com.cn/s/blog_4 ab 0 d 57409 kw 1.
http://www.w3school.com.cn/xmldom/dom_node.asp
http://developer.51cto.com/art/201009/224979.htm
ドキュメントオブジェクトモデル(Doucment Object Model,DOM)は、ドキュメント(HTMLドキュメント、XMLドキュメントなど)と、ドキュメントを構成する様々な要素とのアクセス、操作を示すアプリケーションインターフェースです.DOMでは、HTMLドキュメントの階層構造をツリー構造として表現しています.ツリーのノードは、ドキュメント内のさまざまなコンテンツを表します.
Domの中ではすべてNodeの対象です.
Element、Text Node、Attribute、CommtはすべてNodeのサブクラスです.つまり、Nodeオブジェクトのすべての属性と方法は、Element、TextNode、Attribute、Compmentに適用され、Element、Text Node、Attribute、Compmentに対して特殊な属性と方法を提供しています.
ノードインターフェースは、巡回および操作ツリーのための属性と方法を定義しています.
NodeオブジェクトのchildNodes属性は、サブノードのリストNodeListオブジェクトに戻り、first Child、lastChild、nextSibling、previous Sibling、parent Node属性は、ツリーを巡回する方法を提供する.apped Child()、removeChild()、replacceChild(old,new)とinsertBefore()の方法は、ドキュメントツリーにノードを追加したり、ドキュメントからノードを削除したりすることができます.
Nodeノードはどうやって巡回しますか?
Node属性の中には、Java.util.Listのサブクラスではなく、NodeオブジェクトのセットであるchildNodes属性がありますが、どのように使用されますか?オブジェクトは、属性と方法を提供し、NodeListのセットにトラバースを提供するために非常に便利である.
NodeList nl = doc.getElementsByTagName_r("*");
Node n;
n = nl.item(0);
System.out.print(n.getNodeName());
文書ツリーには、ノードの種類を特定のNodeサブインターフェースによって表しています.NodeオブジェクトごとにnodeType属性があり、ノードのタイプを指定します.常用ノードタイプ
<!--&菗13;
@import url(http://files.cnblogs.com/nayitian/mystyle.css)&13;
-->
インターフェース
nodeType定数
nodeType値
Element
Node.ELLENT_NODE
1
Text
ノード.TEXT_NODE
3
Dcument
ノード.DOCUMENT_NODE
9
コメント
Node.C.OMMENT_NODE
8
DcumentFragment
ノード.DOCUMENT_FRAGMENTNODE
11
Attr
ノード.ATTRIBUTE_NODE
2
Nodeオブジェクトの属性
属性
説明
IE
F
O
W 3 C
baseURI
ノードの絶対基準URIを返します.
No.
1
No.
はい
childNodes
ノードからサブノードのノードリストを返します.
5
1
9
はい
first Child
ノードの最初のサブノードを返します.
5
1
9
はい
lastChild
ノードの最後のサブノードを返します.
5
1
9
はい
local Name
ノードのローカル名を返します.
No.
1
9
はい
name spaceURI
ノードの名前空間URIを返します.
No.
1
9
はい
nextSibling
ノードの直後に続く同級ノードを返します.
5
1
9
はい
nodeName
ノードの名前を返し、その種類に応じて返します.
5
1
9
はい
nodeType
ノードのタイプを返します.
5
1
9
はい
nodeValue
ノードの値を設定または戻し、その種類に応じて.
5
1
9
はい
owner Dcument
ノードのルート要素を返します.
5
1
9
はい
parent Node
ノードの親ノードを返します.
5
1
9
はい
prefix
ノードの名前空間プレフィックスを設定または返します.
No.
1
9
はい
previous Sibling
ノードの直前に続く同級ノードを返します.
5
1
9
はい
text Content
ノードとその子孫のテキスト内容を設定または返信します.
No.
1
No.
はい
テキスト
ノードとその子孫のテキスト(IE特有の属性)を返します.
5
No.
No.
No.
xml
ノードとその子孫のXML(IE特有の属性)を返します.
5
No.
No.
No.
Nodeオブジェクトの方法
方法
説明
IE
F
O
W 3 C
apped Child()
ノードのサブノードリストの末尾に新しいサブノードを追加します.
5
1
9
はい
clone Node()
ノードをコピーします
5
1
9
はい
compredocument Position()
二つのノードのドキュメント位置を比較します.
No.
1
No.
はい
get Feature(feature、version)
DOMオブジェクトを返します.このオブジェクトは、指定された特性とバージョンを有する特定のAPIを実行することができます.
No.
はい
getsUserData(key)
このノードのキーに関連するオブジェクトを返します.このオブジェクトは、まず同じキーを使ってsetUserDataを呼び出すことによって、このノードに設定されなければなりません.
No.
はい
has Attributes()
現在のノードが属性を持っているかどうかを判断します.
No.
1
9
はい
has Child Nodes()
現在のノードがサブノードを持っているかどうかを判断する.
5
1
9
はい
insertBefore()
指定されたサブノードの前に新しいサブノードを挿入します.
5
1
9
はい
isDefault Namespace(URI)
指定された名前空間URIがデフォルトかどうかを返します.
No.
はい
isEqualNode()
二つのノードが等しいかどうかをチェックします.
No.
No.
No.
はい
isSameNode()
二つのノードが同じノードかどうかチェックします.
No.
1
No.
はい
isSupported()
現在のノードがサポートしている特性を返します.
9
はい
lookupNamespaceURI()
指定されたプレフィックスにマッチする名前空間URIを返します.
No.
1
No.
はい
lookuplefix()
指定された名前空間URIにマッチするプレフィックスを返します.
No.
1
No.
はい
normalize()
隣接するTextノードを統合し、空いているTextノードを削除する.
5
1
9
はい
removeChild()
現在のノードの指定されたサブノードを削除(およびリターン)します.
5
1
9
はい
replacceChild()
新しいノードでサブノードを置換します.
5
1
9
はい
selectNodes()
選択されたノードにはXPS表現で照会します.
6
selectSingleNode()
XPSクエリと一致するノードを検索します.
6
transform Node()
XSLTを使用して、ノードを一つの文字列に変換します.
6
tranform NodeToObject()
XSLTを使用して、ノードをドキュメントに変換します.
6
setsUserData(key,data,handler)
オブジェクトをノードのキーに関連付ける.
No.
はい
DOM APIは、ドキュメント内の要素を参照する方法を提供する.
getElements ByTagName(var tagName)
NodeListオブジェクト(NodeListオブジェクトの挙動は配列と似ています.この関数はtagNameで指定された要素名で構成される配列を返すと考えられます.)を返します.どのタイプのHTML要素のリストが得られますか?なお、HTMLマークは大文字と小文字を区別していないので、この方法に渡す文字列も大文字と小文字を区別していません.「*」をgetElementsByTagName()に送ると、ドキュメント内のすべての要素のリストに戻り、ドキュメント内に表示される順番で順番が変わります.
getElemenntById(var id)
この方法は、一致するID属性を有する要素を返す.DockmentオブジェクトとElementオブジェクトはこの2つの方法を持っています.
DOMツリーのルートノードは、ドキュメントのルート要素を示すElementオブジェクトを参照するDcumentオブジェクトです.ほとんどのDOMツリーは、マーク(例えば、<html>と<i>)を示すElementオブジェクトと、テキスト列を表すTextオブジェクトから構成されている.
Elementインターフェースのget Attribute()方法、set Attribute()方法とremoveAttribute()方法は、要素の性質を調べ、設定し、削除することができます.
本論文の参考:
http://blog.sina.com.cn/s/blog_4 ab 0 d 57409 kw 1.
http://www.w3school.com.cn/xmldom/dom_node.asp
http://developer.51cto.com/art/201009/224979.htm