JavaScript で DOM ノード インスタンスを作成、使用、削除する方法の詳細な説明

伊谢尔伦
リリース: 2017-07-20 13:26:38
オリジナル
1344 人が閲覧しました

ノードの作成

新しいノードを作成するには、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(&#39;p&#39;)[1];//<p><em>second</em> paragraph</p>
ログイン後にコピー

まだディープコピーする必要はありません。


document.body.appendChild(el.cloneNode(false))
ログイン後にコピー

要素 p のみがコピーされたため、ページは変更されていないことがわかりました。以下同様の効果です。


document.body.appendChild(document.createElement(&#39;p&#39;));
ログイン後にコピー

ディープコピーを使用すると、以下のpを含むすべての子ノードがコピーされます。もちろんテキストノードやEM要素も含みます。


document.body.appendChild(el.cloneNode(true))
ログイン後にコピー

insertBefore()
末尾に要素を追加するにはappendChildを使用します。 insertBefore メソッドを使用すると、挿入された要素の位置をより正確に制御できます。


elementNode.insertBefore(new_node,existing_node)
ログイン後にコピー

Example


document.body.insertBefore( 
 document.createTextNode(&#39;boo!&#39;), 
 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&#39;s about it --> 
</body>
ログイン後にコピー

次の削除するコードを見てみましょう。 2 番目の段落


var myp = document.getElementsByTagName(&#39;p&#39;)[1]; 
var removed = document.body.removeChild(myp);
ログイン後にコピー

削除されたノードは削除されたノードです。削除されたノードは今後も使用できます。

replaceChild() メソッドを使用することもできます。この方法は、ノードを削除し、別のノードに置き換えます。最後のノード削除操作を実行した後の結果は次のようになります


<body> 
 <p class="opener">first paragraph</p> 
 <p id="closer">final</p> 
 <!-- and that&#39;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&#39;s about it --> 
</body>
ログイン後にコピー
です

以上がJavaScript で DOM ノード インスタンスを作成、使用、削除する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート