ホームページ > 記事 > ウェブフロントエンド > JavaScript で DOM ノード インスタンスを作成、使用、削除する方法の詳細な説明
ノードの作成
新しいノードを作成するには、createElement と createTextNode を使用できます。新規作成が完了したら、appendChild() を使用してノードを DOM ツリーに追加できます。
要素 P を作成し、innerHTML 属性を設定します
var myp = document.createElement('p'); myp.innerHTML = 'yet another';
要素 P が構築された後、属性を自由に変更および追加できます
myp.style.border = '2px dotted blue'
次に、appendChild を使用して新しいノードを追加できますツリー内の DOM。
document.body.appendChild(myp)
DOM メソッドの使用
innerHTML メソッドを使用するのは非常に簡単で、純粋な dom メソッドを使用して上記の機能を実現できます。
新しいテキストノードを作成します(さらにもう1つ)
新しい段落を作成します
テキストノードを段落に追加します。
本文に段落を追加
// 创建p var myp = document.createElement('p'); // 创建一个文本节点 var myt = document.createTextNode('one more paragraph') myp.appendChild(myt); // 创建一个STRONG元素 var str = document.createElement('strong'); str.appendChild(document.createTextNode('bold')); // 把STRONG元素添加到P中 myp.appendChild(str); // 把P元素添加到BODY中 document.body.appendChild(myp); //结果<p>one more paragraph<strong>bold</strong></p> cloneNode()
新しいノードを作成する別の方法は、cloneNode を使用してノードをコピーすることです。 cloneNode() はブール値パラメータを渡すことができます。 true の場合は子ノードを含むディープ コピーであり、false の場合は自分自身のみをコピーします。
まずコピーする要素を取得します。
var el = document.getElementsByTagName('p')[1];//<p><em>second</em> paragraph</p>
まだディープコピーする必要はありません。
document.body.appendChild(el.cloneNode(false))
要素 p のみがコピーされたため、ページは変更されていないことがわかりました。以下同様の効果です。
document.body.appendChild(document.createElement('p'));
ディープコピーを使用すると、以下のpを含むすべての子ノードがコピーされます。もちろんテキストノードやEM要素も含みます。
document.body.appendChild(el.cloneNode(true))
insertBefore()
末尾に要素を追加するにはappendChildを使用します。 insertBefore メソッドを使用すると、挿入された要素の位置をより正確に制御できます。
elementNode.insertBefore(new_node,existing_node)
Example
document.body.insertBefore( document.createTextNode('boo!'), document.body.firstChild );
は、新しいテキストノードを作成し、それをbody要素の最初のノードとして使用することを意味します。
ノードの削除
DOMツリーからノードを削除するには、removeChild()を使用します。操作するHTMLを見てみましょう
<body> <p class="opener">first paragraph</p> <p><em>second</em> paragraph</p> <p id="closer">final</p> <!-- and that's about it --> </body>
次の削除するコードを見てみましょう。 2 番目の段落
var myp = document.getElementsByTagName('p')[1]; var removed = document.body.removeChild(myp);
削除されたノードは削除されたノードです。削除されたノードは今後も使用できます。
replaceChild() メソッドを使用することもできます。この方法は、ノードを削除し、別のノードに置き換えます。最後のノード削除操作を実行した後の結果は次のようになります
<body> <p class="opener">first paragraph</p> <p id="closer">final</p> <!-- and that's about it --> </body>
replaceChild の使用法を見てみましょう。 2 番目の p
var replaced = document.body.replaceChild(removed, p);
を最後に削除されたノードに置き換えます。これは、removeChild が返すものと同じです。削除されたノードが置き換えられます。結果は
<body> <p class="opener">first paragraph</p> <p><em>second</em> paragraph</p> <!-- and that's about it --> </body>です
以上がJavaScript で DOM ノード インスタンスを作成、使用、削除する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。