セレクターは その後、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 タグを使用して画像を表示するサンプル コード
背景nginx サーバー モジュールは 2 つのサーバーにプロキシする必要があるため、異なるサーバー...
現在シミュレーションしているのは、マスター スレーブ システム (ホスト 1 台とスレーブ 1 台)...
この記事では、MySQL のデータベース テーブルの容量を確認するためのコマンド ステートメントを紹...
この記事では、Jiugonggeモバイルパズルゲームを実装するためのJavaScriptの具体的なコ...
ここでは、主に小さなプログラムの開発プロセスでよく使われる、非常に実用的な機能ポイントをいくつか整理...
この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...
効果使用する場合は、コードとスタイルを自分で最適化してください。画像を表示しない/ビデオとオーディオ...
HTML では、一般的な URL はさまざまな方法で表現されます。相対 URL:コードをコピーコード...
導入MySQL には、SELECT ステートメントを分析し、開発者が最適化できるように SELECT...
目次序文1. Nginxのインストール1. Nginxをダウンロードする2. 依存関係をインストール...
目次序文2次元配列、一方向基本インターフェースのマッピング幅優先、包括的検索マップ編集経路探索アルゴ...
新しい接続を作成する側がクライアントに相当し、接続される側がサーバーに相当します。手順は次のとおりで...
序文Linux グループは、Linux でユーザー アカウントを管理するために使用される組織単位です...
この記事では、Docker で構築された Laravel および Vue プロジェクトの開発環境を紹...
目次1. 現象2. 解決策3. 要約: 1. 現象1. 要件: 特定の表示ページをキャプチャしてアル...