Documentとは

Documentオブジェクト

DocumentHTML要素(Element)を操作するためのオブジェクトです。Webページのロード後にwindowオブジェクトの一部として生成され、window.documentまたはdocumentとしてアクセスできます。

DOM とは

DOM(Document Object Model) は、簡単にいうとHTMLのオブジェクトのことです。JavaScriptは、DOMを操作できる唯一の言語で、ブラウザ操作するアプリ開発には欠かせません。DOMNodeを起点としたツリー状の集合になっています。

Node/
├── Document/
└── Element/
    ├── HTMLElement/
    └── SVGElement/

Node

Nodeは、DOMツリーを操作するオブジェクトです。NodeにはDocumentElementSVGElementといった種類があり、プロパティやメゾッドが定義されています。

Element

Elementは、Nodeの一部でWebページ内のHTMLタグを表すオブジェクトです。Elementオブジェクトは、その要素の属性や内容、スタイル、イベントなどにアクセスするためのプロパティやメソッドを提供します。

メソッドとプロパティ

Documentオブジェクトにはメソッドやプロパティといった、プログラムで利用するたくさんの機能が搭載されています。

主なメソッド
メソッド 処理
close() ドキュメントを閉じる
clear() ドキュメントをクリア
open() ドキュメントを開く
write() ドキュメントに文字を出力
getElementById() ドキュメントからID指定で要素を選択
getElementsByClassName() ドキュメントからクラス指定で要素を選択
主なプロパティ
プロパティ 処理
title ドキュメントのtタイトルを取得・設定
location.href 現在のページのURL取得
domain 現在のページのドメイン取得
bgColor ドキュメントの背景色の取得・設定
forms[] ドキュメントのform
links[] ドキュメントのリンク
images[] ドキュメントの画像

Documentのメソッド

document.write()

write() は、ブラウザに文字列を出力するメソッドです。

document.write(値)

HTMLタグの出力

write() でHTMLタグを指定すれば、ブラウザでHTML表示することができます。

document.write("<h1>タイトル</h1>")
  • write() は、セキュリティの問題で現在は非推奨の機能です
  • HTMLの操作は、通常DOMオブジェクトで操作します

ファイル構成

basic/
├── js/
│      └── dom1.js
└── dom1.html

Documentの表示

「dom1.html」を作成し、「dom1.js」を読み込みます。

dom1.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
  <script src="js/dom1.js"></script>
</body>
</html>

JSでHTML出力

「dom1.js」にHTMLタグを出力します。

js/dom1.js
...
document.write('<h1>プロフィール</h1>')
document.write('<h2>名前</h2>')
document.write('<p>東京 太郎</p>')
結果

外部ファイルで出力

outputP() を定義してHTMLタグを出力します。メソッドには引数も用意します。

const outputP = function(message)
{
    var tag = "<p>" + message + "</p>"
    document.write(tag)
}

outputP('旅行')
outputP('ゲーム')
outputP('スポーツ観戦')

結果

pタグがブラウザに表示されました。

Documentのプロパティ

Documentオブジェクトのプロパティを使って、ブラウザのHTMLを操作してみましょう。

titleプロパティ

titleプロパティは、HTMLのタイトルを文字列で設定します。

document.title = "文字列"

HTMLのタイトルを変更

titleプロパティにの文字列を設定します。

document.title = "プロフィール"

styleプロパティ

styleプロパティで、HTMLのスタイルを設定します。例えば、bodyタグにスタイルを設定するにはbody.styleで設定します。

document.body.style.プロパティ = 値

文字色と背景色の変更

bodyタグの文字色と背景色を設定してみます。

document.body.style.color = "#808080"
document.body.style.background = "#fffaf0"

結果

ドキュメント全体の文字色と背景色が変更できました。

演習

問題1

「document.write()」 を使って、「images」フォルダに配置された画像を出力してみましょう。

ファイル構成
./
├── images
│   └── tokyo_station.jpg
├── js
│   └── dom1.js
└── dom1.html