JSチュートリアル

JSホーム JSの紹介 JSどこへ JS出力 JSステートメント JS構文 JSコメント JS変数 JS Let JSConst JSオペレーター JS算術 JS割り当て JSデータ型 JS関数 JSオブジェクト JSイベント JS文字列 JS文字列メソッド JS文字列検索 JS文字列テンプレート JS番号 JS番号メソッド JSアレイ JS配列メソッド JS配列ソート JSアレイの反復 JSアレイ定数 JSの日付 JSの日付形式 JS DateGetメソッド JS日付設定メソッド JS数学 JSランダム JSブール値 JSの比較 JS条件 JSスイッチ JSループFor JSループフォーイン JSループの JSループWhile JSブレイク JSIterables JSセット JSマップ JS Typeof JS型変換 JSビット単位 JS RegExp JSエラー JSスコープ JSホイスト JS厳密モード JSこのキーワード JSアロー関数 JSクラス JS JSON JSデバッグ JSスタイルガイド JSのベストプラクティス JSの間違い JSパフォーマンス JS予約語

JSバージョン

JSバージョン JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE /エッジ JSの歴史

JSオブジェクト

オブジェクト定義 オブジェクトのプロパティ オブジェクトメソッド オブジェクト表示 オブジェクトアクセサー オブジェクトコンストラクター オブジェクトのプロトタイプ オブジェクト反復可能 オブジェクトセット オブジェクトマップ オブジェクトリファレンス

JS関数

関数の定義 関数パラメーター 関数の呼び出し 関数呼び出し 機能適用 関数クロージャ

JSクラス

クラスイントロ クラス継承 クラス静的

JSAsync

JSコールバック JS非同期 JSの約束 JS Async / Await

JS HTML DOM

DOMイントロ DOMメソッド DOMドキュメント DOM要素 DOM HTML DOMフォーム DOM CSS DOMアニメーション DOMイベント DOMイベントリスナー DOMナビゲーション DOMノード DOMコレクション DOMノードリスト

JSブラウザBOM

JSウィンドウ JS画面 JSロケーション JSの歴史 JSナビゲーター JSポップアップアラート JSタイミング JSクッキー

JS Web API

WebAPIイントロ WebフォームAPI Web履歴API WebストレージAPI WebワーカーAPI Web Fetch API Web Geolocation API

JS AJAX

AJAXイントロ AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

JS JSON

JSONイントロ JSON構文 JSONとXML JSONデータ型 JSON解析 JSON文字列化 JSONオブジェクト JSON配列 JSONサーバー JSON PHP JSON HTML JSON JSONP

JSとjQuery

jQueryセレクター jQuery HTML jQuery CSS jQuery DOM

JSグラフィックス

JSグラフィックス JSキャンバス JSPlotly JS Chart.js JSグーグルチャート JS D3.js

JSの例

JSの例 JS HTML DOM JSHTML入力 JSHTMLオブジェクト JSHTMLイベント JSブラウザ JSエディター JS演習 JSクイズ JS証明書

JSリファレンス

JavaScriptオブジェクト HTMLDOMオブジェクト


JavaScript HTML DOM要素(ノード)


ノードの追加と削除(HTML要素)


新しいHTML要素(ノード)の作成

HTML DOMに新しい要素を追加するには、最初に要素(要素ノード)を作成してから、既存の要素に追加する必要があります。

 例

<div id="div1">
  <p id="p1">This is a paragraph.</p>
  <p id="p2">This is another paragraph.</p>
</div>

<script>
const para = document.createElement("p");
const node = document.createTextNode("This is new.");
para.appendChild(node);

const element = document.getElementById("div1");
element.appendChild(para);
</script>

例の説明 

このコードは新しい<p>要素を作成します:

const para = document.createElement("p");

要素にテキストを追加するには、<p>最初にテキストノードを作成する必要があります。このコードはテキストノードを作成します:

const node = document.createTextNode("This is a new paragraph.");

<p>次に、要素にテキストノードを追加する必要があります。

para.appendChild(node);

最後に、新しい要素を既存の要素に追加する必要があります。

このコードは、既存の要素を検索します。

const element = document.getElementById("div1");

このコードは、新しい要素を既存の要素に追加します。

element.appendChild(para);


新しいHTML要素の作成-insertBefore()

前の例のappendChild()メソッドは、親の最後の子として新しい要素を追加しました。

それを望まない場合は、次のinsertBefore()方法を使用できます。

<div id="div1">
  <p id="p1">This is a paragraph.</p>
  <p id="p2">This is another paragraph.</p>
</div>

<script>
const para = document.createElement("p");
const node = document.createTextNode("This is new.");
para.appendChild(node);

const element = document.getElementById("div1");
const child = document.getElementById("p1");
element.insertBefore(para, child);
</script>

既存のHTML要素の削除

HTML要素を削除するには、次のremove() メソッドを使用します。

<div>
  <p id="p1">This is a paragraph.</p>
  <p id="p2">This is another paragraph.</p>
</div>

<script>
const elmnt = document.getElementById("p1"); elmnt.remove();
</script>

例の説明 

HTMLドキュメントには、<div>2つの子ノード(2つの<p> 要素)を持つ要素が含まれています。

<div>
  <p id="p1">This is a paragraph.</p>
  <p id="p2">This is another paragraph.</p>
</div>

削除する要素を見つけます。

const elmnt = document.getElementById("p1");

次に、その要素に対してremove()メソッドを実行します。

elmnt.remove();

このremove()方法は古いブラウザでは機能しません removeChild()。代わりに使用する方法については、以下の例を参照してください。


子ノードの削除

このメソッドをサポートしていないブラウザのremove()場合、要素を削除する親ノードを見つける必要があります。

<div id="div1">
  <p id="p1">This is a paragraph.</p>
  <p id="p2">This is another paragraph.</p>
</div>

<script>
const parent = document.getElementById("div1");
const child = document.getElementById("p1");
parent.removeChild(child);
</script>

例の説明 

このHTMLドキュメントには、<div>2つの子ノード(2つの<p> 要素)を持つ要素が含まれています。

<div id="div1">
  <p id="p1">This is a paragraph.</p>
  <p id="p2">This is another paragraph.</p>
</div>

次の要素を見つけますid="div1"

const parent = document.getElementById("div1");

<p>次の要素を見つけますid="p1"

const child = document.getElementById("p1");

親から子を削除します。

parent.removeChild(child);

一般的な回避策は次のとおりです。削除する子を見つけ、その parentNodeプロパティを使用して親を見つけます。

const child = document.getElementById("p1");
child.parentNode.removeChild(child);

HTML要素の置き換え 

要素をHTMLDOMに置き換えるには、次のreplaceChild()メソッドを使用します。

<div id="div1">
  <p id="p1">This is a paragraph.</p>
  <p id="p2">This is another paragraph.</p>
</div>

<script>
const para = document.createElement("p");
const node = document.createTextNode("This is new.");
para.appendChild(node);

const parent = document.getElementById("div1");
const child = document.getElementById("p1");
parent.replaceChild(para, child);
</script>