[JavaScript] Node
7291 ワード
ノード
HTML DOMは、ノードと呼ばれる階層単位に情報を格納する.HTML DOMは、これらのノードを定義し、それらの関係を説明することができる.
ノードツリー(ノードツリー)
HTMLドキュメントの情報は、ノードツリーと呼ばれる階層構造に格納されます.これらのノードツリーはノードの集合であり、ノード間の関係を示します.ノードツリーは、最上位のルートノード(root node)から最下位のテキストノードまで延びます.
兄弟ノード(sibling node)-同じ親ノードを持つすべてのノード
祖先ノード(祖先ノード)-親ノードを含むすべてのノードで、現在のノードより階層的に高い
サブノード(Subscrendant Node)-現在のノードよりも階層的に低いサブノードを含むすべてのノード.
1.代表的なノードのタイプ
-ドキュメントノード(ドキュメント):HTMLドキュメント全体を表します.
-要素ノード(element):HTML要素を表し、属性ノードを持つ唯一のノードです.
-属性ノード(attribute):HTML要素の属性を表し、要素ノードに関する情報があります.ただし、エレメントノードのサブノードにはエレメントノードは含まれません.
-テキストノード(text):HTMLドキュメント内のすべてのテキストを表します.
-コメントノード(comment):HTMLドキュメント内のすべてのコメントを表します.
2.ノード間アクセス
ノード間の関係
-parentNode
:親ノード
-childNodes
:サブノードリスト
-firstChild
:最初のサブノード
-lastChild
:最後のサブノード
-nextSibling
:次の兄弟ノード
-previousSibling
:前の兄弟ノード
ノードについて
-nodeName
:ノードの一意の名前
-nodeValue
:ノード値
-nodeType
:ノード固有タイプ
NodeTypeプロパティ値
要素ノード(1)|属性ノード(2)|テキストノード(3)
アノテーションノード(8)|ドキュメントノード(9)
3.ノードリスト(ノードリスト)
ノードリストは、HTMLドキュメントと同じ順序で、ドキュメント内のすべてのノードをリスト形式で格納します.リスト内の各ノードは、ゼロから始まるインデックスを使用してアクセスできます.// document 객체의 첫번째 자식 노드를 child1에 지정 후, 노드 이름 출력
let child1 = document.childNodes[0];
document.write(child1.nodeName);
// body의 첫번째 자식 노드를 child2에 지정 후, 노드 값 출력
let child2 = document.body.firstChild;
document.write(child2.nodeValue);
// 아이디가 brother인 요소의 이전 형제 노드를 sibling1에 지정 후, 노드 타입 출력
let sibling1 = document.getElementById("brother").previousSibling;
document.write(sibling1.nodeType);
4.ノードの追加
-appendChild()
:ノードのサブノードリストの最後に新しいノードを追加
-insertBefore()
:新しいノードを特定のサブノードに直接追加する前に
qquad親ノード.InsertBefore(新しいサブノード、標準サブノード);
-insertData()
:ネストされたデータにテキストノードを新しいテキストとして追加
qquadテキストノード.InsertData(オフセット、新規データ);
-append()
-ノードの最後にノードまたは文字列を挿入
-prepend()
-ノードの前にノードまたは文字列を挿入
-before()
-ノードの前にノードまたは文字列を挿入
-after()
-ノードの後にノードまたは文字列を挿入
-replaceWith()
-ノードを新しいノードまたは文字列で置換
5.ノードの作成
-createElement()
:新しい要素ノードの作成
-createAttribute()
:新しい属性ノードの作成
-createTextNode()
:新しいテキストノードの作成let div1 = document.createElement('div');
let class1 = document.createAttribute("class");
let textNode1 = document.createTextNode('안녕하세요.');
6.ノードの削除
-removeChild()
:サブノードリストから特定のサブノードを削除
-removeAttribute()
:属性の名前を使用して特定の属性ノードを削除
7.ノードコピー
-cloneNode()
:既存のノードと同じ新しいノードを作成して戻します.
8.ノード操作
-nodeValue
:ノード値の変更
-setAttribute()
:属性値の変更
qquadsetAttribute("属性名"、"属性値");
-replaceChild()
:既存の要素ノードを新しい要素ノードに置き換えます.
qquad置換するノード=親ノード.Child(新しいサブノード、既存のサブノード)を置き換えます.
-replaceData()
:テキストノードのテキストデータを置換
qquadテキストノード.置換データ(オフセット、置換文字数、新しいデータ);// 아이디가 text인 노드의 값 변경
let text = document.getElementById('text');
text.nodeValue = "텍스트 변경";
// 아이디가 abc인 요소의 title 속성을 New title로 변경
document.getElementById( 'abc' ).setAttribute( 'title', 'New title' );
参考資料
🔗 TCP School
🔗 javascript.info
Reference
この問題について([JavaScript] Node), 我々は、より多くの情報をここで見つけました
https://velog.io/@kim_unknown_/JavaScript-Node
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
// document 객체의 첫번째 자식 노드를 child1에 지정 후, 노드 이름 출력
let child1 = document.childNodes[0];
document.write(child1.nodeName);
// body의 첫번째 자식 노드를 child2에 지정 후, 노드 값 출력
let child2 = document.body.firstChild;
document.write(child2.nodeValue);
// 아이디가 brother인 요소의 이전 형제 노드를 sibling1에 지정 후, 노드 타입 출력
let sibling1 = document.getElementById("brother").previousSibling;
document.write(sibling1.nodeType);
let div1 = document.createElement('div');
let class1 = document.createAttribute("class");
let textNode1 = document.createTextNode('안녕하세요.');
// 아이디가 text인 노드의 값 변경
let text = document.getElementById('text');
text.nodeValue = "텍스트 변경";
// 아이디가 abc인 요소의 title 속성을 New title로 변경
document.getElementById( 'abc' ).setAttribute( 'title', 'New title' );
Reference
この問題について([JavaScript] Node), 我々は、より多くの情報をここで見つけました https://velog.io/@kim_unknown_/JavaScript-Nodeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol