Document

document

Document document

そのJavaScriptコードを実行する文書(≒ページ)に対応するDocumentオブジェクト。閲覧したブラウザJavaScriptエンジンが提供してくれる。

なお、その文書がHTML文書である場合は、正確にはdocumentはHTMLDocumentオブジェクトです。でもHTMLDocumentはDocumentを(実質的に)継承HTML向けに拡張しているだけ。

DocumentインターフェースとHTMLDocumentインターフェース

DocumentインターフェースDOM Coreで定義されており、Documentオブジェクトはある1つの文書(HTML文書ないしXML文書)全体を表します。JavaScriptインターフェース(interface)の仕組みはありませんが、それはW3Cも承知の上で、つまり「Documentオブジェクトはこんなメソッドプロパティを持つ」というだけの意味合いです。

Documentオブジェクトはそれに対応する文書への一番のアクセス手段です。またDocumentオブジェクトは要素やテキストノードなどを作成するファクトリメソッド(FactoryMethod)も備えています。これは、要素やテキストノードなどがDocumentの文脈(context)外には存在できないことに由来します。

Documentオブジェクトであるものには、document以外に例えばXMLHttpRequest?のresponceXML?プロパティがあります。


HTMLDocumentインターフェースDOM HTMLで定義されており、HTMLDocumentオブジェクトはある1つのHTML文書全体を表します。

HTMLDocumentオブジェクトは前述のDocumentオブジェクトが持つすべてのメソッドプロパティを持ち、さらにいくつかのメソッドプロパティを追加して持っています。

プロパティ

HTMLDocumentのみ

  • title?
  • referrer?
  • domain?
  • URL?
  • body?
  • images?
  • applets?
  • links?
  • forms?
  • anchors?
  • cookie?

DOM Level 3でDocumentに追加

  • inputEncoding?
  • xmlEncoding?
  • xmlStandalone?
  • xmlVersion?
  • strictErrorChecking?
  • documentURI?
  • domConfig?

メソッド

HTMLDocumentのみ

  • open?
  • close?
  • write?
  • writeln?
  • getElementsByName?

DOM Level 2でHTMLDocumentのみからDocumentでも利用可能に

DOM Level 2でDocumentに追加

DOM Level 3でDocumentに追加

  • adoptNode?
  • normalizeDocument?
  • renameNode?