|
|
Log In | Not a Member? |
Contact ADC |
JavaScriptドキュメントオブジェクトモデルは、W3C (World Wide Web Consortium)が策定したドキュメントオブジェクトモデル(DOM)仕様を実装しています。この仕様では、プログラムおよびスクリプトが、ドキュメント(通常はHTMLやXML)の要素に対応する構造化されたオブジェクト一式を提供することにより、ドキュメントの内容、構造、およびスタイルに動的にアクセスして変更することができる、プラットフォームと言語に依存しないインターフェイスを規定しています。
Level 2 DOMの仕様では特に、スタイルシートからオブジェクトツリーを作成し、ドキュメント要素のスタイルデータを処理する機能が追加されました。
ドキュメントオブジェクトモデルは、特に顕著なのはJavaScriptですが、多岐にわたる言語ですでに実装されています。JavaScript DOMにおける各宣言は、W3CのIDL (Interface Definition Language)ファイルを使って作成されました。
DOMを利用することにより、以下のことが可能になります。
ドキュメントの内容を変更せずに、ドキュメントのセクションを並べ替える
既存の要素を独立したオブジェクトとして作成、削除する
ドキュメントツリーおよびツリー上の任意の要素のサブツリーを検索し、移動する
ドキュメントの構造と内容を完全に分離する
DOMによるドキュメントの構造へのアクセス
ドキュメントオブジェクトモデルの使用
その他のリソース
ドキュメントオブジェクトモデルの主要な機能は、HTMLドキュメントの構造を、その中に含まれている内容から切り離して参照、アクセス、変更することです。 特定のHTML要素に、id識別子に基づいてアクセスしたり、タグまたはCSSクラスタイプによって要素の配列を割り当てたりできます。すべての変換は、最新のHTML仕様に従って行われます。さらに重要なことに、変換は動的に行われます。つまり変換はすべてページを再ロードせずに行われます。
DOMツリーは完全にJavaScriptオブジェクトで構成されます。Table 1に、基本的でよく使われるJavaScriptオブジェクトのいくつかを示します。
DOMによって指定され、その構造へのアクセスに使用できるいくつかのJavaScriptメソッドがあります。Table 2に、基本的な最もよく使われるJavaScriptメソッドのいくつかを示します。
DOM全般の参考資料については“その他のリソース”を参照してください。
このセクションでは、ドキュメントオブジェクトモデルをよく理解するために、いくつかのコード例を紹介します。
DOMのコード例を使って作業するには、サンプルのHTMLファイルを作成する必要があります。次のコードは、以降の例で使用するHTMLファイルを示しています。
<HTML> |
<HEAD> |
<TITLE>My Sample HTML file</TITLE> |
</HEAD> |
<BODY> |
<DIV id="allMyParas" style="border-top: 1px #000 solid;"> |
<P id="firstParagraph"> |
This is my first paragraph. |
</P> |
<P id="secondParagraph"> |
This is my second paragraph. |
</P> |
</DIV> |
</BODY> |
</HTML> |
使用するHTMLドキュメントを用意したので、これでいくつかのDOM変換を行う準備ができました。この最初の例では、DOMツリーのfirstParagraph要素と secondParagraph要素の後にパラグラフを1つ追加します。
parasDiv = document.getElementById("allMyParas"); |
thirdPara = document.createElement("p"); |
thirdPara.setAttribute("id", "thirdParagraph"); |
parasDiv.appendChild(thirdPara); |
もちろん、現時点ではパラグラフ内にテキストはありません。DOMを使うと、新しいパラグラフにテキストを追加することもできます。
thirdPara.innerHTML = "This is my third paragraph."; |
囲んでいるdiv要素に下のマージンを追加する必要があるかもしれません。現在、上のマージンのみ設定されています。setAttributeでこれを行うこともできますが、その場合はgetAttributeで既存のstyle属性をコピーしてこれに追加し、その後setAttributeを使って送り返す必要が生じます。そのため、代わりにstyleブロックを使います。
parasDiv.style.borderBottom = "1px #000 solid"; |
最後に、囲んでいるdiv要素の中のすべてのパラグラフ要素のスタイルを変更したくなることなどが考えられます。nodeListを生成するgetElementsByTagNameメソッドを使って、パラグラフ要素の配列を取得し、配列全体に対して繰り返し処理を行うことができます。この例では、すべてのパラグラフにグレーの背景色を追加します。
parasInDiv = parasDiv.getElementsByTagName("p"); |
for(var i = 0; i < parasInDiv.length; i++) { |
parasInDiv[i].style.backgroundColor = "lightgrey"; |
} |
JavaScriptドキュメントオブジェクトモデルとWeb KitベースのアプリケーションまたはDashboardウィジェットの組み合わせは強力です。たとえば、これらのスクリプトとマウスイベントやボタンクリックを結び付けることによって、自分のWebページ上や、DashboardウィジェットなどのWeb Kitベースのアプリケーション内に、非常に動的で可変性の高いコンテンツを作成することができます。
次のリソースは、JavaScriptドキュメントオブジェクトモデルを使用する上で役立ちます。
Safari JavaScript Referenceは、SafariとWeb KitによってサポートされているJavaScript関数とプロパティの、Appleのリファレンスです。
Mozilla Gecko DOM Referenceは、JavaScript DOMの最も包括的なリファレンスの1つです。
Last updated: 2007-07-10
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |