ノードの削除について

javascript

ノードの削除について

ノードの削除について試してみます。
削除時の注意としては、削除する命令は親ノードに対して行い、
削除したい子ノードの何番目を削除するのかを指定します。

実際にサンプルを用意して、ノードの削除を試してみます。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>テストHTML</title>
</head>
<body>

<div id="test1">
	<div id="p1" name="p1name">
		<div id="p2" name="p2name">p2text</div>
		<div id="p3" name="p3name">p3text</div>
		<div id="p4" name="p3name">p4text</div>
	</div>
</div>

<script type="text/javascript">
// Elementノードを取得
let p1 = document.getElementById("p1");
let p2 = document.getElementById("p2");
let p3 = document.getElementById("p3");
let p4 = document.getElementById("p4");

// 取得した親ノード「p1」の子ノード「p3」を削除
p1.removeChild(p3);
</script>

</body>
</html>

サーバ上のHTMLはこちら(test1.html)

出力結果は次のようになります。
 ※…アクセスした画面のHTMLソースを抜粋

<div id="p1" name="p1name">
		<div id="p2" name="p2name">p2text</div>
		
		<div id="p4" name="p3name">p4text</div>
	</div>

上記のjavascriptを実行した結果、子ノードの

<div id="p3" name="p3name">p3text</div>

が削除されていることがわかります。

また、親ノードから辿って子ノードの指定ができれば削除ができるので、
次のような書き方も可能です。

p3.parentNode.removeChild(p3);

上記の場合は、p3の子ノードから辿り、いったんparentNodeメソッドを使って、p3の親ノードをみて、
その後にremoveChildメソッドを使っています。

少し変則的ですが、下記のような書き方もできます。

p3.parentNode.removeChild(p2);

この場合は、p3の子ノードからparentNodeでp1を参照し、その後に子ノードである「p2」を削除しています。

出力結果は、

<div id="p1" name="p1name">
		
		<div id="p3" name="p3name">p3text</div>
		<div id="p4" name="p3name">p4text</div>
	</div>

という結果になります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です