JavaScript DOM オブジェクト操作

JavaScript DOM オブジェクト操作

1. コア

ブラウザのウェブページはDOMツリー構造である

  • 更新: Domノードを更新
  • Domノードのトラバース: Domノードを取得する
  • 削除: Domノードを削除する
  • 追加:新しいノードを追加する

Domノードを操作するには、まずDomノードを取得する必要があります。

1. Domノードを取得する

 <本文>
    <div id="div1">
   <h1 id="h"></h1>
   <p class="p1"></p>
   </div>
 </本文>

 //タグ別 document.getElementsByTagName('h1');
  //ID別
   ドキュメントの要素IDを取得します('div1');
  //クラスを通して
   ドキュメントの要素をクラス名で取得します('p1');
  //親ノードを取得する h.parentElement
  //親ノードの下にあるすべての子ノードを取得します。div1.children[index];
  //現在のノードの下の最初のノード div1.firstElementChild を取得します。
  //現在のノードの下の最後のノード div1.lastElementChild を取得します。
  //次のノードを取得します h.nextElementSibling;

2. ノードの更新

   //テキストの値を更新します div1.innerText='テキストの値を変更します'; 
   //ハイパーテキストを更新し、HTML テキスト タグを解析できます div1.innerHTML='<strong>ハイパーテキストの追加</storng>';
   //CSSを更新
   div1.style.color='赤';
   div1.style.fontSize='20px';//CamelCase 命名 div1.style.padding='2em';

2.1 実践演習

IDを取得

変更前

操作入力

3. Domノードを削除する

ノードを削除する手順:最初に親ノードを取得し、次に親ノードを介して自分自身を削除します

let self=document.getElementById('p1');//削除されたノードを取得します。let father=self.parentElement//親ノードを取得します。father.removeChild(self);//親ノードを介してノードを削除します。

注意:ノードを削除すると、サブノード配​​列は常に変化するため、配列を通じて静的に連続的に削除することはできず、複数回動的に削除することしかできません。

4. ノードを挿入する

Dom ノードを取得します。この Dom ノードが空であると仮定すると、 innerHtMLを通じて要素を追加できます。ただし、このDomノードにすでに要素がある場合は上書きされます。

 <本文>
 
  <p id="p1">Java</p>
  <div id="div1">
  <p>JavaScript</p>
  <p>css</p>
  <p>こ</p>
  </div>
 </本文>

4.1 既存のタグを挿入する

a=document.getElementById('div1'); とします。
b = document.getElementById('p1'); とします。
a.appendChild(b);//追加

効果

4.2 挿入する新しいタグを作成する

   let a=document.createElement('p');//ノード p タグを作成 a.id='p2';
   a.innerText='こんにちは、シャオシェン';
   let list = document.getElementById('div1'); //div1のIDを取得
   list.appendChild(a); //子ノードを追加 //ラベルノードを作成 let a=document.createElement('script');
   a.setAttribute('type','text/javascript');

効果:

 //スタイルタグノードを作成 let st=document.createElement('style');
   st.setAttribute('type','text/css');
   st.innerHTML='body{背景色:ピンク;}';
   let hd = document.getElementsByTagName('head')[0]; //headは0番目の要素であることに注意してください。
   hd.appendChild(st);

効果:

4.3 子ノードの前に挿入 (insertBefore)

<html>
 <ヘッド>
  <メタ文字セット="utf-8">
  <タイトル></タイトル>
 </head>
 <本文>
 
  <p id="p1">Java</p>
  <div id="div1">
  JavaScript
  <p id='p2'>css</p>
  <p id="p3">C</p>
  </div>
  <script type="text/javascript">
  // 子ノードを持つ親ノード let list = document.getElementById('div1');
  self = document.getElementById('p2'); とします。
  前に=document.getElementById('p1');
  リストに自分自身を挿入します。

  </スクリプト>
 </本文>
</html>

効果:

JavaScript Dom オブジェクト操作に関するこの記事はこれで終わりです。より関連性の高い JavaScript Dom オブジェクト操作については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript ドキュメント オブジェクト モデル DOM
  • JavaScript のドキュメント オブジェクト モデル (DOM)
  • JavaScript 変数 Dom オブジェクトのすべてのプロパティ
  • JS を使用して DOM オブジェクト内の指定されたノードにアクセスする方法の例
  • JS を使用して DOM オブジェクト (タグ) のカスタム属性を読み取る方法について簡単に説明します。
  • JS の基本における DOM 内のドキュメント オブジェクトの一般的な属性メソッドの詳細な説明
  • DOM 内の要素オブジェクトの属性メソッドの詳細な説明 (js 基本編)
  • JavaScriptはDOMオブジェクトセレクタを実装する
  • JavaScript DOMオブジェクトの詳細な理解
  • JavaScript - DOM操作 - Window.documentオブジェクトの詳しい説明
  • jQueryオブジェクトとJavaScriptオブジェクト、つまりDOMオブジェクトは相互に変換されます
  • jsオブジェクト関係図はDOM操作を容易にします
  • JavaScript DOM オブジェクト学習サンプルコード
  • DOMオブジェクトに対するJavaScript操作の詳細な説明

<<:  docker createコマンドの使用方法

>>:  電子メールの HTML ページを作成するための原則の概要

推薦する

jQuery+h5 で 9 マス抽選特殊効果を実現 (フロントエンドとバックエンドのコード)

序文:フロントエンド: jq+h5 で 9 グリッドのダイナミック効果を実現バックエンド: thin...

エラー 1045 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されました (パスワード使用: YES) 実用的な解決策

昨日はデータベースへの接続に問題はありませんでしたが、今日はデータベースへの接続時にこのエラーが報告...

Vue3.0 は虫眼鏡効果のケーススタディを実装します

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

垂直方向の中央揃えをエレガントに実現する方法を教えます(推奨)

序文CSS で水平方向と垂直方向に中央揃えする方法はたくさんあります。この記事で紹介する方法は非常に...

Linuxターミナルでの一般的なMySQL操作コマンドの詳細な説明

仕える: # chkconfig --list すべてのシステム サービスを一覧表示します # ch...

MySQLクエリ制御ステートメントの詳細なグラフィック説明

mysql クエリ制御ステートメントフィールド重複排除 **キーワード: 明確** 構文: テーブル...

MySQLで最大接続数を達成する方法

目次データベース接続数が急増した理由は何ですか? 1. はじめに2. 知識ポイント3. 練習するIV...

Vueウォッチの監視方法の概要

目次1. Vueにおけるwatchの役割はその名の通り、監視の役割です。 2. このオブジェクトのプ...

Centos サーバーで nginx を設定する方法の例

セキュアターミナルMobaXterm_Personalをダウンロードまず、安全なターミナルをダウンロ...

Windows で Mysql を起動したときに 1067 が表示される場合の解決策

数日前に仕事を始めて、Mysql をインストールしたところ、開くことができました。今日、会社に行った...

MySql 8.0.16-win64 インストール チュートリアル

1. ダウンロードしたファイルを以下のように解凍します。 。 2. 環境変数に解凍ディレクトリを追加...

VMware Workstationはデバイス/資格情報ガードと互換性がありません

仮想マシンをインストールするときに、「VMware ワークステーションはデバイス/資格情報ガードと互...

10 HTML テーブル関連タグ

実際、多くの人が「テーブルは絶対に使用すべきではないと聞いたことがある」と言いますが、これは絶対に間...

Ubuntu 20.04は静的IPアドレスを設定します(異なるバージョンを含む)

Ubuntu 20.04はnetplanを通じてネットワークを管理するため、以前のバージョンとは少...

JSに関する7つの面接の質問、あなたはいくつ正しく答えられますか

序文JavaScript では、これは関数呼び出しコンテキストです。この動作が非常に複雑であるからこ...