web-dev-qa-db-ja.com

DOMとは何ですか? (概要と重要性)

ドキュメントオブジェクトモデル(DOM)とは何ですか?

私は主に.NETで働いていて、経験が限られているため、この質問をしていますが、経験豊富な開発者がそれについて話したり言及したりするのをよく耳にします。オンラインでチュートリアルを読んでいますが、全体像を理解することができません。私はそれがAPIであることを知っています!

より具体的な質問は次のとおりです。

  1. 現在どこで使用されていますか?
  2. 開発者のどの分野(ex-.NET開発者)がそれを使用していますか?
  3. 一般に、すべての開発者が理解することはどの程度関連性がありますか?
28
VoodooChild

一般的に、DOMは構造化ドキュメントのモデルです。
これは今日のITの中心的な概念であり、開発者はDOMをオプトアウトできません。 .net、HTML、XML、またはそれが使用されるその他のドメインにあります。
すべてのドキュメント(Wordドキュメント、HTMLページ、XMLファイルなど)に適用されます。開発者の領域では、主にHTMLドメインとXMLドメインに適用されますが、意味は少し異なります。

HTML

HTMLの分野では、90年代後半に「ダイナミックHTML」と呼ばれた革命をサポートするためにDOMが導入されました。 IE4およびNetscape4.0より前は、ブラウザー内で変更できないHTMLドキュメント(これらのリモート時間にWebページをスプライトするために持っていたのは「アニメーションGIF」!!!!およびHTMLはバージョン3.2でした)。
したがって、サーバーから送信されたドキュメントをブラウザー内で動的に操作することは大きな革命であり、今日見られる魅力的なWebサイトへの行進を開始しました。

JavascriptはNetscapeによって導入され(新しいJavaトレンド、しかし無関係)でサーフィンするためにバプテスマされたjavascript)、Netscape HTTPサーバーとNetscapeブラウザーの両方でサポートされ、InternetExplorerは内部の動きに熱心に追随しました。ただし、javascriptを使用してドキュメントのコンテンツを操作する場合は、操作するドキュメントの部分を簡単に指定する必要があります。そこでDOMが登場します。HTML4は「整形式」ではありませんが、ブラウザは、階層構造(子ノード、親ノード属性など)で、上部に「body」要素、下部に多数のhtmlタグを使用して、ページの内部表現を構築します。DOMは、ナビゲートを可能にするAPIを支えるモデルです。この階層。

NetscapeとIEブラウザの両方が競合するソリューションであったため、NSとIE DOMが収束する可能性はほとんどありませんでした。 W3Cは、小規模なブラウザベンダーが競争に参加できるように介入し、DOMの標準化に努めました。したがって、W3C DOMは、別の方言を導入するだけでした。誰もが知っているように、MSに準拠させるには数年と2人の深刻な競合他社が必要でした。標準で。

JQueryのような最近のナビゲーション手法には、DOMの省略表記がありますが、内部的にはDOMに依存しています。

XML

HTMLは、ドキュメントの「整形式性」に対して寛大さを示すことの不利な点を明らかにし、これが新しい流行をもたらしました:XML。 Webの分野では、XMLとXSLTは最初にIE5でサポートされ、ページを表示するだけでなく、より多くのドメインで採用されました。
XMLを解析するには、主にJava Wordで、SAXエンジンへのプラグインであるSAXパーサーを開発します。このパーサーでは、エンジンが何をすべきかを記述します。解析されたドキュメントで発生するXMLイベント(タグ...)。SAXパーサーの開発は簡単ではありませんが、フットプリントの小さいソリューションです。
ただし、新しいドキュメントタイプごとに特定のドキュメントを開発する必要があります。
したがって、ライブラリがドキュメントを解析し、その階層のメモリ内マップを構築するように見えるようになるまで、それほど時間はかかりませんでした。ルート、親、子(SGMLからHTMLを介して継承)の概念も同じであるため、DOMとも呼ばれ、ライブラリに関係なく名前が適用されます。

その他のドメイン

DOMの概念は、HTMLやXMLに限定されたり、HTMLやXMLのために発明されたりすることはありません。 DOMは、あらゆるドキュメントに適用できる一般的な概念であり、特に、ナビゲートする必要のある階層構造を示すドキュメント(大多数はそうです)です。 MS-WordドキュメントのDOMについて話すことができ、これらをナビゲートするためのAPIもあります。

13
Alain Pannetier

DOMは、明確に定義されたHTMLおよびXML構造のアプリケーションプログラミングインターフェイスです( W3Cのドキュメント ごと)。これは、Webページの要素(スタイル、テキスト、属性などの要素)を操作する場所で使用されます。 JavaScriptやjQuery(もちろんJavaScript)などのJavaScriptライブラリを使用したDOMについて多くのことを聞くでしょう。また、Java、ECMAScript、JScript、およびVBScriptでも参照されます。

.NETをプログラミングしている場合は、Webベースの作業を行っているかどうかが重要です。アプリケーションプログラミングをしている場合、それはそれほど重要ではありません。 DOMは間違いなく過去のものではありません。多くの開発者によって毎日使用され、機能しています。そうは言っても、Webブラウザ間でのDOMの標準化に向けた取り組みが行われています。 (繰り返しになりますが、ライブラリはこれらの違いを隠すのに役立ちます。これがjQueryが非常に人気がある理由の1つです。ブラウザーの詳細について心配する必要はありません。必要なことを実行するだけです。)

上でリンクしたドキュメントは、すべての質問などに答えるのに最適です。私はそれを読むことを強くお勧めします。さらに質問がある場合は、以下のリンクも確認してください。

8
JasCav

私は本当にそれを説明することはできません DOMに関するウィキペディアの記事

しかし、あなたの質問のいくつかに答えるために:

まだどこで使っていますか?

90年代半ば以降のすべてのWebブラウザ。

誰が使うのか

90年代半ば以降のすべてのWeb開発者。

どの技術で?

ほとんどの場合、JavaScriptを介したWebですが、プログラムでXML/HTMLにアクセスするときはいつでも、ある種のDOM実装を使用しています。

.netキャリアの誰にとってもそれはどれほど重要ですか? [原文ママ]

非常に、あなたはおそらくそれを知らなくてもそれを使用しますが。

これは、頻繁に使用されていたが問題があった過去のものですか?

もしそうなら、誰かが ジョン・レシグ 彼が過去3年間の人生を無駄にしたと言う必要があります。

5
Josh

ブラウザがHTMLページをロードすると、それをDocument Object Model(DOM)に変換します。

ブラウザで生成されたHTMLDOMは、すべてのHTMLページ要素をオブジェクトとして構成するツリーとして構築されます。たとえば、ブラウザでHTMLページの下にロードするとします。

<!DOCTYPE html>
<html>
    <head>
        <title>website title</title>
    </head>
    <body>
        <p id="js_paragraphId">I'm a paragraph</p>
        <a href="http://somewebsite.com">some website</a>
    </body>
</html>

ロード後、ブラウザはそれを次のように変換します。

HTML DOM

HTML DOMで言語をスクリプト化する機能の一部は次のもので構成されます:

1-ページ内のすべてのHTML要素を変更します。

2-ページ内のすべてのHTML属性を変更します。

3-ページ上のすべてのCSSスタイルを変更します。

4-既存のHTML要素と属性を削除します。

5-新しいHTML要素と属性を追加します。

6- Reactページ内の既存のすべてのHTMLイベントに。

7-ページに新しいHTMLイベントを作成します。

質問に戻りましょう:

1-現在、すべての最新ブラウザで使用されています。

2-フロントエンド開発者。

3-スクリプト言語、特にJavaScriptを使用するすべてのフロントエンド開発者。

1

DOMとは何ですか?

Document Object Model(DOM)は、HTMLおよびXMLドキュメント用のプログラミングAPIです。これは、ドキュメントの論理構造と、ドキュメントへのアクセスおよび操作の方法を定義します。 w3コンソーシアムによって定義された標準。

出典: http://www.w3.org/TR/WD-DOM/introduction.html

1
Premraj

ドキュメントオブジェクトモデル(DOM)はプログラミング[〜#〜] api [〜#〜]for[〜#〜] html [〜#〜]and[〜# 〜] xml [〜#〜]ドキュメント。

これは、ドキュメントの論理構造と、ドキュメントへのアクセスおよび操作の方法を定義します。 DOM仕様では、「ドキュメント」という用語は広い意味で使用されます。XMLは、さまざまなシステムに格納される可能性のあるさまざまな種類の情報を表す方法として使用されることが増えています。ドキュメントとしてではなくデータ。

それでも、XMLはこのデータをドキュメントとして提示し、DOMを使用してこのデータを管理できます。

続きを読む..

0
eLi