HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

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 replaceChild()メソッドとは?使い方とサンプルコードを解説

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

HTML DOM replaceChild()メソッドとは?使い方とサンプルコードを解説


  1. HTML DOMのhasAttributes()メソッドとは?構文・使い方・サンプルコードを解説

    HTML DOMのhasAttributes()メソッドは、ある要素が属性(attribute)を1つでも持っているかどうかを判定するためのメソッドです。要素が属性を保持している場合はtrueを返し、1つも属性を持っていない場合はfalseを返します。また、このメソッドを要素ノード以外のノードに対して呼び出した場合、戻り値は常にfalseになるという特徴があります。 構文 hasAttributes()メソッドの基本構文は以下のとおりです。 node.hasAttributes() 引数は不要で、対象となるノードに対して直接呼び出すだけで、真偽値(Boolean)が返されます。 使用例 ここで

  2. HTML DOMのfocus()メソッドとは?基本構文と使い方を実例付きで解説

    HTML DOMのfocus()メソッドは、指定したHTML要素にフォーカスを設定するために使用されるメソッドです。ただし、すべてのHTML要素にフォーカスを適用できるわけではありません。たとえば、<p>タグのようにフォーカスを受け付けない要素も存在します。また、要素からフォーカスを解除したい場合は、blur()メソッドを使用します。 focus()メソッドの主な活用シーン ページ読み込み時やフォーム表示時に、最初の入力欄へ自動的にカーソルを合わせる バリデーションエラーが発生した際に、該当する入力フィールドへフォーカスを移動する モーダルウィンドウを開いたときに、特定のボタンや