検索

取得方法: 1. ID 値から「document.getElementById(value)」を取得; 2. name 属性から「document.getElementsByName(value)」を取得; 3. 「親ノードのオブジェクト。 firstChild」は親ノードの取得などで取得されます。

JavaScriptでDOM要素を取得する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

HTML DOM ノード要素を取得するための JavaScript メソッドの概要

Web アプリケーション、特に Web2.0 プログラムの開発では、多くの場合、ページ内の要素を取得し、要素のスタイル、コンテンツなどを更新するために必要です。更新する要素をどのように取得するかが最初に解決すべき問題です。幸いなことに、JavaScript を使用してノードを取得する方法は数多くあります。簡単にまとめます (次の方法は IE7 および Firefox2.0.0.11 でテストされました):

1. トップレベルのドキュメントを通じてノードの取得

(1) document.getElementById(elementId): このメソッドは、ノードの ID を通じて必要な要素を正確に取得でき、比較的単純で高速なメソッドです。 。ページに同じ ID を持つ複数のノードが含まれている場合は、最初のノードのみが返されます。

現在、プロトタイプや Mootools などの多くの JavaScript ライブラリが登場していますが、これらはより単純なメソッド $(id) を提供しており、パラメーターは依然としてノードの ID です。このメソッドは document.getElementById() の別の書き方とも言えますが、$() の機能の方が強力なので、具体的な使用方法については、それぞれの API ドキュメントを参照してください。

(2)document.getElementsByName(elementName): このメソッドは、ノードの名前を通じてノードを取得します。名前からわかるように、このメソッドはノード要素を返しません。ですが、ノード要素です。同じ名前を持つノードの配列です。次に、ノードの特定の属性をループして、それが必要なノードであるかどうかを判断します。

例: HTML では、チェックボックスとラジオは同じ name 属性値を使用してグループ内の要素を識別します。選択した要素を今すぐ取得したい場合は、まずシャッフルされた要素を取得し、次にループしてノードのチェックされた属性値が true かどうかを判断します。

(3)document.getElementsByTagName(tagName): このメソッドは、タグを通じてノードを取得します。このメソッドは、配列も返します。例: document.getElementsByTagName('A') Allページ上のハイパーリンク ノードが返されます。ノードを取得する前に、ノードのタイプは一般にわかっているため、この方法を使用するのは比較的簡単です。しかし、欠点も明らかです。それは、返される配列が非常に大きくなる可能性があり、多くの時間を無駄にすることです。では、この方法は無駄なのでしょうか?このメソッドは上記の 2 つとは異なり、ドキュメント ノード独自のメソッドではなく、後述する他のノードにも適用できます。

2. 親ノード経由で

を取得します (1) parentObj.firstChild: ノードが既知のノード (parentObj) の最初である場合) このメソッドは子ノードに使用できます。この属性は再帰的に使用できます。つまり、parentObj.firstChild.firstChild.firstChild... の形式をサポートしているため、より深いノードを取得できます。

(2)parentObj.lastChild: 明らかに、この属性は既知のノード (parentObj) の最後の子ノードを取得するためのものです。 firstChild と同様に、再帰的に使用することもできます。
使用時に、この 2 つを組み合わせると、より刺激的な効果が得られます。つまり、parentObj.firstChild.lastChild.lastChild...

(3)parentObj.childNodes : 既知のノードの子ノード配列を取得し、ループまたはインデックス作成を通じて必要なノードを見つけます。

注: テストの結果、IE7 では直接の子ノードの配列が取得されるのに対し、Firefox2.0.0.11 では、次の子ノードを含むすべての子ノードが取得されることがわかりました。子ノード。

(4)parentObj.children: 既知のノードの直接の子ノード配列を取得します。

注: テスト後、IE7 では効果は childNodes と同じですが、Firefox2.0.0.11 ではサポートされていません。これが、私が他の方法とは異なるスタイルを使用する理由です。したがって、その使用はお勧めできません。

(5)parentObj.getElementsByTagName(tagName): 使用方法は詳しく説明しませんが、既知のすべての子ノードの中から指定された値の子ノードの配列を返します。ノード。例:parentObj.getElementsByTagName('A') は、既知の子ノード内のすべてのハイパーリンクを返します。

3. 隣接ノードから

を取得 (1) neighbourNode.previousSibling: 既知のノード (neighbourNode) の前のノードを取得します。先ほどのfirstChild、lastChildプロパティと同様に再帰的に利用できるようです。

(2)neighbourNode.nextSibling: 既知のノード (neighbourNode) の次のノードを取得します。再帰もサポートされています。

4. 子ノードから

を取得する (1) childNode.parentNode: 既知のノードの親ノードを取得します。

上記のメソッドは基本的なメソッドの一部であり、Prototype などの JavaScript ライブラリを使用する場合は、ノードのクラスから取得するなど、他のメソッドも取得できる場合があります。しかし、上記の方法を柔軟に使い分けることができれば、ほとんどのプログラムには対応できると思います。

[推奨学習: JavaScript 上級チュートリアル]

以上がJavaScriptでDOM要素を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
USESTATEの理解():React React Neact State Managementの包括的なガイドUSESTATEの理解():React React Neact State Managementの包括的なガイドApr 25, 2025 am 12:21 AM

usestate()isareacthookusedtomeStateinfunctionalComponents.1)itInitializeSandUpDatestate、2)colledatttheToplevelofComponents、3)canleadto'stalestate'ifnotusedly、and4)cancancancancancanbeoptimizeduptimizeduptimizedususecall -calleSuperesteSteSteSteSteSteSteSteSteStateSupteStateSuptateSuptatedates

Reactを使用することの利点は何ですか?Reactを使用することの利点は何ですか?Apr 25, 2025 am 12:16 AM

ReactisPopularduetoitsComponent Architecture、Virtualdom、Richecosystem、およびdeclarativenature.1)コンポーネントベースのarchitectureallowsforReusable anduipieces、改善様式および測定可能性。

Reactでのデバッグ:一般的な問題の特定と解決Reactでのデバッグ:一般的な問題の特定と解決Apr 25, 2025 am 12:09 AM

debugReactapplicationivivivity、EtheseStrategies:1)AddressPropdrillingWithContextapiorredux.2)HandLeasynchronousoperations withuthutateanduseeffect、Abortcontrollertopreventraceconditions.3)最適化合物を使用して、最適化合物を使用してください

ReactのUseState()とは何ですか?ReactのUseState()とは何ですか?Apr 25, 2025 am 12:08 AM

UseState()inReactallowsstateManagementInFunctionalComponents.1)itsimplifiesstateManagement、makeCodemoreconcise.2)usetheprevcountFunctionToupDateStateBasedTateBasedTateBadeStateValue、AvolidingStalestateSues.3)

useState()vs。usereducer():州のニーズに合った適切なフックを選択するuseState()vs。usereducer():州のニーズに合った適切なフックを選択するApr 24, 2025 pm 05:13 PM

ChooseuseState()forsimple,independentstatevariables;useuseReducer()forcomplexstatelogicorwhenstatedependsonpreviousstate.1)useState()isidealforsimpleupdatesliketogglingabooleanorupdatingacounter.2)useReducer()isbetterformanagingmultiplesub-valuesorac

UseState()を使用して状態を管理する:実用的なチュートリアルUseState()を使用して状態を管理する:実用的なチュートリアルApr 24, 2025 pm 05:05 PM

UseStateは、州の管理を簡素化し、コードをより明確にし、読みやすくし、Reactの宣言的な性質と一致するため、クラスコンポーネントやその他の州管理ソリューションよりも優れています。 1)UseStateを使用すると、状態変数を関数コンポーネントに直接宣言することができます。2)フックメカニズムの再レンダリング中に状態を覚えています。

UseState()を使用する時期と、代替の州管理ソリューションを検討するタイミングUseState()を使用する時期と、代替の州管理ソリューションを検討するタイミングApr 24, 2025 pm 04:49 PM

useUsestate()forlocalcomponentStatemanagement; compleartinative forglogic、orperformanceissues.1)useidealforsimple、localstate.2)useglobalStateSolutionSolutionSuxorContextForSharedState.3)OptForreDuxtormobxobxobxobforexSt

Reactの再利用可能なコンポーネント:コードの維持可能性と効率の向上Reactの再利用可能なコンポーネント:コードの維持可能性と効率の向上Apr 24, 2025 pm 04:45 PM

再利用することは、codecodemaintainabilityを抑制することを再生します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター