セレクターは その後、DOM は 1. querySelectorは単一の要素を照会する
構文の形式は次のとおりです。 ドキュメントインスタンス.querySelector(セレクター文字列); 要素インスタンス.querySelector(セレクター文字列); 1. ドキュメントインスタンスの呼び出し
簡単な例は次のとおりです。 // body 要素を取得します。let body = document.querySelector("body"); コンソール.log(本文) // ID が container の要素を取得します。最初の要素のみが取得されます。let container = document.querySelector("#container"); console.log(コンテナ) // クラス内の btn を含む要素を取得します。最初の要素のみが取得されます。let btn = document.querySelector(".btn"); コンソールにログ出力します。 // コンテナーの直接のサブクラスで btn を含む要素を取得します。最初の要素のみが取得されます。let containerBtn = document.querySelector("#container>.btn"); コンソールにログ出力します。 2. 要素インスタンスの呼び出し
簡単な例: // ID が container の要素を取得します。let container = document.querySelector("#container"); // 要素オブジェクトが存在するかどうかを確認する必要があります。存在する場合のみ、querySelector メソッドがあります。if (container) { // コンテナー内でクラスに btn が含まれる要素のみを検索します。 containerBtn = container.querySelector(".btn"); とします。 コンソールにログ出力します。 } 理論的には、CSS はセレクターを通じてページ上の任意の要素を取得できるため、 たとえば、上記の例は次のように直接記述できます。 containerBtn = document.querySelector("#container .btn"); とします。 また、if 判断が 1 つ減ったため、コードはより簡潔になります。もちろん、ビジネス シナリオによっては、 2. querySelectorAllはすべての要素を照会します
簡単な例: // ページに記事を含む2つのdivクラスがあると仮定します // クラスに article が含まれるすべての要素を取得します。let articleList = document.querySelectorAll(".article"); console.log(記事リスト); console.log(記事リストの長さ); // コンソール出力: // ノードリスト(2) [div.article, div.article] // 2 // トラバーサルの for (let item of articleList) { console.log(アイテム); } // トラバーサル用 for (let i = 0; i < articleList.length; i++) { console.log(記事リスト[i]); console.log(記事リスト.item(i)); } // forEach は articleList.forEach((item, index) => { を走査します console.log(アイテム、インデックス); }); 1. for in トラバーサルの問題for 2. リアルタイムではなくスナップショットの問題
次の例を考えてみましょう。 // 取得するには querySelectorAll を使用します。articleList は静的であり、リアルタイムではありません。let articleList = document.querySelectorAll(".article"); console.log(記事リスト); console.log(記事リスト.長さ); // 2 タイムアウトを設定する(() => { // 要素を追加します let div = document.createElement("div"); div.className = "記事"; ドキュメントのbodyに子要素を追加します。 console.log(記事リスト); // まだ2 console.log(記事リストの長さ); }, 0); 最後に、タイマーが設定され、 次の例を考えてみましょう。 //getElementsByClassName を使用して取得します。articleList はリアルタイムです。let articleList = document.getElementsByClassName("article"); console.log(記事リスト); console.log(記事リストの長さ); タイムアウトを設定する(() => { // 要素を追加します let div = document.createElement("div"); div.className = "記事"; ドキュメントのbodyに子要素を追加します。 console.log(記事リスト); // ここは3 console.log(記事リストの長さ); }, 0); コンソールで印刷結果を表示します。 HTMLCollection の動的効果:
3. まとめ
以下もご興味があるかもしれません:
|
<<: 初心者向けウェブサイト構築ガイド⑦:美しいウェブサイトを作るのはとっても簡単
>>: HTML ul および li タグを使用して画像を表示するサンプル コード
この記事では、Linux 環境での ActiveMQ の展開方法について説明します。ご参考までに、詳...
目次1. Cocos Creatorでのオーディオ再生の基本1. 基本2. 一般的な方法2. Coc...
目次01 コンテナの一貫性02 レイヤーの概念03 レイヤードデザインの利点今日はコンテナ レイヤー...
目次Tomcat でプロジェクトを展開する 3 つの方法プロジェクトをwebappsディレクトリに直...
シェル スクリプト言語は、すべてのプログラミング言語の中で最も単純な言語であるため、資格のある Li...
この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...
序文会社でのインターンシップ中、フロントエンド開発にはvue+element-uiフレームワークを使...
IE6 で CSS スタイルの div または li の背景のタイリングや境界の破壊を解決するには、...
css-vars-ポニーフィルCSS 変数を使用して Web ページのスキニングを実現すると、互換...
webpack-dev-server コアコンセプトWebpack の ContentBase と ...
序文MRR は Multi-Range Read の略で、ランダム ディスク アクセスを削減し、ラン...
これらの仕様は、下位互換性のあるドキュメントを Web 上で公開し、できるだけ幅広いユーザーがアクセ...
HTML で境界線を設定する 3 つの方法 境界線の幅: 1px 2px 2px; 境界線のスタイル...
目次バイト機能使用環境プロジェクトを構築する構成vite.config.ts tsconfig.js...
MySql データベースのサブクエリ:サブクエリ: 選択クエリ ステートメント内に別の選択ステートメ...