DOM の知識の詳細な紹介
DOM
JavaScript は ECMAScript + DOM + BOM で構成されていることがわかっています。 ECMAScript は JS の構文であり、BOM は主にブラウザ オブジェクト (ウィンドウ) オブジェクトに関する関連知識の集合です。 DOM は、ドキュメント オブジェクトに関連する知識の集合です。
HTML と JS の間の対話はイベントを通じて実現されることがわかっています。 DOM は HTML (XML) ドキュメント用の API です。したがって、ユーザーと対話したい場合は、DOM が提供する API を使用して HTML 要素を取得し、対応するイベントを要素にバインドしてユーザーと対話する必要があります。したがって、DOM を理解し、習得することが非常に重要です。
この記事は、主に「JavaScript 上級プログラミング (3)」の DOM 関連の章をベースに、DOM の主要な知識を整理し、私の個人的な理解をいくつか織り交ぜています。
ノードレベル
HTML コードを書いたことのある地球上の人々は、各要素にインデントを追加し、関連する HTMl タグとコンテンツを記述し、最終的に Web ページに表示する必要があることを知っているはずです。したがって、このネストされた HTML コードとコンテンツがノード階層を構成します。
ECMAScript を理解している人なら誰でも、JS 内のすべてのオブジェクトは参照型に基づいて作成され、参照型は JS によってネイティブに提供される参照型 (配列、関数、RegExp、オブジェクトなど) であることも、参照型であることもできることを知っているはずです。カスタム参照型であること (参照型は new キーワードを通じて呼び出されます (コンストラクターとも呼ばれます))。すべてのオブジェクトは Object のインスタンス オブジェクトであり、Object.prototype 上のプロパティとメソッドを継承できます
そして、DOM にも同様の仕組みがあります。 DOM では、最上位の型は Node 型 であり、他のすべてのノードは Node 型 のプロパティとメソッドを継承できます。 Node 型は、実際には JS の Object コンストラクターと同等です。
その場合は、ノード タイプのプロパティとメソッドを見てみましょうノード タイプ属性 (継承を通じて特定のノードで次のプロパティを呼び出します)
- nodeType
- nodeName
- nodeValue
- ... 次の兄弟
- 前の兄弟
- firstChild
- lastChild
- ownDocument (各ノードは 1 つの Document ノードにのみ所属できます)
メソッド(継承を通じて特定のノードで呼び出される以下のメソッド)
- ···ノードの検索··
-
要素を検索するメソッドはDocumentタイプにあります
- replaceChild(ele, target)
- · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ノードをコピー · · ·
- · · · · · · · · · · · · · · · · · ドキュメント ノードの処理 · · ほとんど使用されません~
- normalize()
- ノード タイプのプロパティとメソッドは非常に多くありますが、他のすべてのノードはノードのプロパティとメソッドを継承できます。 typeDocument type
- JS は、Document タイプを通じてドキュメントを表します。 document オブジェクトは HTMLDocument のインスタンスであり、HTML ページ全体を表します。同時に、ドキュメント オブジェクトはウィンドウ オブジェクトの下のプロパティでもあるため、グローバル オブジェクトとしてアクセスできます。
- Attributes
document.documentElement (HTML要素を表す)、およびHTML要素は document.childNodes[1] を通じて取得できます
document.body (body要素を表す)
document .head (head要素を示します)
document.compatMode (ブラウザが使用するレンダリング方法を示します。「CSS1Compat」は標準モードを意味し、「BackCompat」は混合モードを意味します)
document.charset (実際のレンダリングを示します)ドキュメントの文字セットで使用されるメソッド。新しい文字セットの指定にも使用できます)
document.dataset (document.dataset.myname などのデータセットを介してカスタム プロパティにアクセスすることを示します)
document.docType (要素を示します)、ブラウザ互換性があります 性的な質問
document.title (< title > 要素を表します)
· · Web ページリクエスト · ·
- · · · · · · · · · · · · · ... ... · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·…… · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·……
document.attributes (NodeList と同様に、ノードの属性を取得し、NamedNodeMap オブジェクトを返します)
メソッド
· 要素の検索 · ·
document.getElementById( id ) 要素を返します
document.getElementsByTagName(classname) は、NodeList オブジェクトと同様に、0 個以上の要素を含む HTMLCollection オブジェクトを返します
document.getElementsByName(ele) は、指定された name 属性を持つ要素を返しますHTMLCollection オブジェクトを返します
document.getElementsByClassName(className) は、一致するすべての NodeList オブジェクトを返します (このメソッドは、Document タイプと Element タイプで呼び出すことができます)
document.querySelector(selector) セレクターは、CSS セレクターを表します 最初のオブジェクトを返しますパターンに一致する要素が見つからない場合は、null を返します (Document タイプ、DocumentFragment タイプ、Element タイプはすべてこのメソッドを呼び出すことができます)
- document.querySelectorAll(selector) セレクターは、CSS セレクターを意味します。 正常に一致した NodeList オブジェクト (
Document 型、DocumentFragment 型、Element 型はすべてこのメソッドを呼び出すことができます)
- · ·要素の作成 · · ·
- document.createElement() (作成された要素は Free 状態なので、挿入する必要があります) appendChild を介して)
- · · テキスト ノードを作成します · · ·
- document.createTextNode() (作成された要素は自由な状態なので、appendChild を通じて挿入する必要があります)
- · ·要素サイズ???
- document.getBoundingClientRect()
- 属性
- id
- title
- クラス名
- setAttribute(name, value) 属性を設定
- removeAttribute(ele) 属性を削除
- getElement (エレ) を入手してくださいele
- getAttribute(ele) 属性を取得
- attribute
- nodeValueデータ(Textノードのテキストにアクセス)
Usage: line Manip DOM 要素を生成するパフォーマンスの問題を引き起こす、DOM ノードの大規模な再配置と再描画を避けるため
- メソッド
- document.createDocumentFragment() (ドキュメントフラグメントの作成を表す)
NodeList とその「近い関係」である NamedNodeMap と HTMLCollection は、DOM 全体を完全に理解するための鍵となります。 3 つのコレクションはすべて「動的」です。つまり、ドキュメントの構造が変更されるたびに更新されます。したがって、常に最新かつ最も正確な情報が保持されます。基本的に、すべての NodeList オブジェクトは、DOM ドキュメントがアクセスされるときにリアルタイムで実行されるクエリです。
要素サイズ
オフセット寸法
ページ上の要素のオフセットを知るには、この要素の offsetLeft と offsetTop をその offsetParent の同じ属性に追加し、ルート要素までこのようにループします。基本的に正確な値です。次の 2 つの関数を使用して、要素の左オフセットと上オフセットをそれぞれ取得できます。
function getElementLeft(element){ var actualLeft = element.offsetLeft; var current = element.offsetParent; while (current !== null){ actualLeft += current.offsetLeft; current = current.offsetParent; } return actualLeft; } function getElementTop(element){ var actualTop = element.offsetTop; var current = element.offsetParent; while (current !== null){ actualTop += current. offsetTop; current = current.offsetParent; } return actualTop; }
クライアント領域のサイズ (クライアントのディメンション)
ブラウザーのビューポート サイズを決定するには、document.documentElement または document.body (IE7 より前のバージョン) の clientWidth と clientHeight を使用できます。
function getViewport(){ if (document.compatMode == "BackCompat"){ return { width: document.body.clientWidth, height: document.body.clientHeight }; } else { return { width: document.documentElement.clientWidth, height: document.documentElement.clientHeight }; } }
スクロールディメンション(スクロールディメンション)
…………………………
要素のサイズを決定する
document.getBoundingClientRect()メソッドは、長方形のオブジェクトを返します。 4 つの属性 (左、上、右、下) が含まれます。これらのプロパティは、ビューポートを基準としたページ上の要素の位置を示します。
以上がDOM の知識の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











最近、win10X システムの最新イメージ ダウンロードがインターネット上で流出しましたが、このイメージは一般的な ISO とは異なり .ffu 形式であり、現在は Surface Pro7 エクスペリエンスでのみ使用できます。 Win10x システムの最新評価を見てみましょう! Win10x システムの最新評価 1. Win10X との最大の違いタスク バーの中央にボタンが配置されており、ピン留めされたアプリケーションに加えて、Android や iOS フォンと同様に、最近起動したアプリケーションもタスク バーに表示できます。 2. もう 1 つは、新しいシステムの「スタート」メニューがファイルをサポートしていないことです。

Go 言語としても知られる Golang は、Google によって開発されたオープンソース プログラミング言語です。 2007 年のリリース以来、Golang はソフトウェア開発の分野で徐々に登場し、ますます多くの開発者に支持されています。静的に型付けされコンパイルされた言語である Golang には、効率的な同時処理機能、簡潔な構文、強力なツールのサポートなど、多くの利点があり、クラウド コンピューティング、ビッグ データ処理、ネットワーク プログラミングなどで幅広い用途が期待できます。この記事では、Golang の基本概念を紹介します。

序文 1950 年、チューリングは画期的な論文「コンピューティング機械とインテリジェンス」(コンピューティング機械とインテリジェンス) を発表し、ロボットに関する有名な判断原則であるチューリング テスト (チューリング判定としても知られています) を提案しました。人間とAI機械の反応の違いを区別できない場合、その機械には人工知能が備わっていると結論付けることができます。 2008年、マーベルの「アイアンマン」に登場するAI執事ジャービスは、AIが人間(トニー)に投げかけられたさまざまな問題を解決するのにどのように正確に役立つかを人々に知らしめました... 図1:AI執事ジャービス(画像出典:インターネット) 2023年、テクノロジーの世界で2C的にブレイクした無料のチャットロボット「Chat」が人気を博した。

1. はじめに 知識の抽出とは通常、豊富な意味情報を含むタグやフレーズなどの非構造化テキストから構造化情報をマイニングすることを指します。これは、コンテンツ理解や製品理解などのシナリオで業界で広く使用されています。ユーザーが作成したテキスト情報から価値のあるタグを抽出することで、コンテンツや製品に適用されます。知識の抽出には、通常、抽出されたタグまたはフレーズの分類が伴います. は、通常、固有表現認識タスクとしてモデル化されます。一般的な固有表現認識タスクは、固有表現コンポーネントを識別し、そのコンポーネントを地名、人名、組織名、その他の種類に分類することです。ドメイン関連タグ単語の抽出は、識別および分割します。シリーズ (Air Force One、Sonic 9)、ブランド (Nike、Li Ning)、タイプ (靴、衣類、デジタル)、スタイル (

Linux サーバーのセキュリティについて理解する: 必須の知識とスキル インターネットの継続的な発展に伴い、Linux サーバーはさまざまな分野でますます使用されています。しかし、サーバーには大量の機密データが保存されているため、そのセキュリティ問題にも注目が集まっています。この記事では、サーバーを攻撃から保護するために役立つ、Linux サーバーのセキュリティに関する重要な知識とスキルを紹介します。オペレーティング システムとソフトウェアの更新と保守 オペレーティング システムとソフトウェアをタイムリーに更新することは、サーバーを安全に保つために重要です。なぜなら、あらゆるオペレーティング システムとソフトウェアが

HTML のグローバル属性を学習するための必須の知識と実践的なスキル HTML (HyperTextMarkupLanguage) は、Web ページの構造を作成するために使用されるマークアップ言語です。 Web ページを構築するとき、多くの場合、さまざまなタグや属性を使用して、ページの外観や動作を定義する必要があります。すべての HTML 属性の中でも、グローバル属性は非常に重要なタイプの属性であり、すべての HTML タグに適用でき、Web 開発者に強力な柔軟性とカスタマイズ機能を提供します。 HTML の学習と使用

jQuery がフロントエンド開発で最もよく使用される JavaScript ライブラリの 1 つであり、HTML ドキュメントを操作するための簡潔かつ強力な方法であることは疑いの余地がありません。 jQuery では、兄弟ノードは、指定された要素と同じ親要素を持つ要素です。フロントエンド開発者にとって、jQuery 兄弟ノードを深く理解することは非常に重要です。この記事では、jQueryを使って兄弟ノードを操作する方法と、具体的なコード例を添付して紹介します。 1. jQuery で兄弟ノードを見つけるには、次のように渡します。

JSP 組み込みオブジェクトを学習するために必要な知識: jsp の組み込みオブジェクトを習得するには、特定のコード例が必要です。JSP (JavaServerPages) は動的 Web ページ開発技術です。その利点は、動的プログラミング言語を組み合わせていることです。 (Java など) および静的ページの機能。 JSP では、組み込みオブジェクトは、開発者によるデータ処理とページのレンダリングを容易にする重要な役割を果たします。この記事では、一般的に使用されるいくつかの JSP 組み込みオブジェクトを紹介し、理解を深めるために具体的なコード例を示します。リクエストペア
