HTML DOM replaceChild()メソッドとは?使い方とサンプルコードを解説
DOM の replaceChild() メソッドは、HTML ドキュメント内で既存の子ノードを新しいノードに置き換えるために使用されます。リストの項目やテキストなど、ページ上の要素を JavaScript から動的に変更したい場合に活躍するメソッドです。
構文
replaceChild() メソッドの基本構文は以下のとおりです。
node.replaceChild(newNode, oldNode);
第1引数には新しく挿入するノード(newNode)、第2引数には置き換えの対象となる既存の子ノード(oldNode)を指定します。戻り値としては、置き換えられた古いノードが返されます。
サンプルコード
それでは、実際に replaceChild() メソッドを使った例を見てみましょう。このサンプルでは、ボタンをクリックするとリスト内の「物理」という項目が「生物」に置き換わります。
<!DOCTYPE html>
<html>
<head>
<style>
html{
height:100%;
}
body{
text-align:center;
color:#fff;
background: #ff7f5094;
height:100%;
}
p{
font-weight:700;
font-size:1.2rem;
}
ul{
list-style-type:none;
padding:0;
}
.btn{
background:#0197F6;
border:none;
height:2rem;
border-radius:2px;
width:35%;
margin:2rem auto;
display:block;
color:#fff;
outline:none;
cursor:pointer;
}
.show{
font-size:1.5rem;
}
</style>
</head>
<body>
<h1>DOM replaceChild() メソッドのデモ</h1>
<p>こんにちは。私の好きな教科は以下のとおりです:</p>
<ul id="subjectList">
<li>物理</li>
<li id="chemistry">化学</li>
<li>数学</li>
<li>英語</li>
</ul>
<button onclick="changeSubject()" class='btn'>物理を生物に変更する</button>
<script>
function changeSubject() {
var textnode = document.createTextNode("生物");
var list = document.getElementById("subjectList");
list.replaceChild(textnode, list.childNodes[0]);
}
</script>
</body>
</html>
コードのポイント
document.createTextNode("生物")で、新しいテキストノードを作成しています。document.getElementById("subjectList")で、対象となる ul 要素を取得します。list.replaceChild(textnode, list.childNodes[0])により、リストの最初の子ノードが新しいテキストノードに置き換えられます。
実行結果
上記のコードをブラウザで実行すると、次のように表示されます。

青色のボタンをクリックすると、科目リストの最初の子ノード(「物理」)が新しいテキストノード(「生物」)に置き換えられます。

-
HTML DOMのhasAttributes()メソッドとは?構文・使い方・サンプルコードを解説
HTML DOMのhasAttributes()メソッドは、ある要素が属性(attribute)を1つでも持っているかどうかを判定するためのメソッドです。要素が属性を保持している場合はtrueを返し、1つも属性を持っていない場合はfalseを返します。また、このメソッドを要素ノード以外のノードに対して呼び出した場合、戻り値は常にfalseになるという特徴があります。 構文 hasAttributes()メソッドの基本構文は以下のとおりです。 node.hasAttributes() 引数は不要で、対象となるノードに対して直接呼び出すだけで、真偽値(Boolean)が返されます。 使用例 ここで
-
HTML DOMのfocus()メソッドとは?基本構文と使い方を実例付きで解説
HTML DOMのfocus()メソッドは、指定したHTML要素にフォーカスを設定するために使用されるメソッドです。ただし、すべてのHTML要素にフォーカスを適用できるわけではありません。たとえば、<p>タグのようにフォーカスを受け付けない要素も存在します。また、要素からフォーカスを解除したい場合は、blur()メソッドを使用します。 focus()メソッドの主な活用シーン ページ読み込み時やフォーム表示時に、最初の入力欄へ自動的にカーソルを合わせる バリデーションエラーが発生した際に、該当する入力フィールドへフォーカスを移動する モーダルウィンドウを開いたときに、特定のボタンや