まず、文書のツリー構造
任意のHTMLまたはXML DOMノードによって構成される多層構造として説明することができます。
ノードが異なるタイプに分割され、各々は、文書内の異なる情報を表します。各ノードは、独自の特性を有し、そしてメソッドデータ、および他のノードとの関係もあります。
ノード間の関係は、階層構造を形成し、すべてのページは、ツリー構造のルートとして特定のノードの性能が付い。
ノードタイプ:要素ノード、属性ノード、テキストノード、コメントノード
ドキュメントツリー:
第二に、ノードレベル
ノードレベル:
ノードレベルの共通の属性
parentNode:現在の要素(一つだけ)の親ノードを取得し
、現在の要素(複数)のすべての子ノードを取得:のparentNode
子供:現在の要素のサブノードを得るには、
のfirstChild:最初の子ノード得る
lastChildする:最後の子ノードを取得します
nextSibling:次の兄弟ノードを取得
previousSiblingはを:前の兄弟を取得
nextElementSiblingを:次の兄弟ノードを取得
previousElementSibling:前の兄弟ノードを取得します。
注意:
ただIE9のサポートの後、previousElementSiblingとの互換性の問題をnextElementSibling
firstElementChild lastElementChildと互換性の問題、ちょうどIE9のサポートの後
ブラウザの互換性に対処します:
1つの // プロセスブラウザ互換
2 // 最初の子を取得
3。 関数getFirstElementChild(要素){
4。 VARのノード、ノード= element.childNodes、I = 0 ;
5 一方(ノード=ノード[I ++ ]){
6 IF(node.nodeType === 1 ){
7 戻りノードと、
8 }
9。 }
10 リターン NULL ;
11 }
12は
13であり、 // プロセスブラウザ互換
14 // 次の兄弟要素プレゼント
15 の機能をgetNextElementSibling(要素){
16 VAR EL = エレメント。
17 一方(EL = el.nextSibling){
18 であれば(el.nodeType === 1 ){
19 リターンエル。
20 }
21 }
22 リターン ヌル。
23 }
共通ノード操作方法
appendChild()
のinsertBefore()
のremoveChild()
のreplaceChild()
第三に、ノードのプロパティ
1、nodeTypeのノードタイププロパティ
-
- 図1は、要素ノードを表します
- 属性ノードのための2
- 図3は、テキストノードを表します。
- 図1は、要素ノードを表します
2、nodeName属性ノード名(タグ名)
3、のnodeValueノード値
nodeValue要素ノードは常にnullです