JavaScriptのDocumentインターフェースとidプロパティについて現役エンジニアが解説【初心者向け】
初心者向けにJavaScriptのDocumentインターフェースとidプロパティについて現役エンジニアが解説しています。Documentはブラウザに読み込まれたWebページを表したもので、インターフェースとは機能や部品の単位のことです。idはHTML要素やHTMLタグが持つプロパティです。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
JavaScriptのDocumentインターフェースとidプロパティについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。
JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をまずご覧ください。
なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。
今回は、JavaScriptに関する内容だね!
どういう内容でしょうか?
JavaScriptのDocumentインターフェースとidプロパティについて詳しく説明していくね!
お願いします!
目次
Documentインターフェースとは
Documentはブラウザに読み込まれたWebページを表したものです。Documentインターフェースというと、そのWebページを操作する機能や部品の集まりのことです。
idプロパティとは
Elementが持つプロパティです。ElementはHTMLの要素、平たく言うとなにかのタグをJavaScriptで扱うときのオブジェクトです。
HTMLのグローバル属性でidを割り当てたタグをJavaScriptで取得した場合は、idプロパティにHTMLで割り当てられたidの名前が格納されています。
idを指定して要素を取得してみよう
idを指定して取得する準備として、HTML側でh1タグにidとしてtitleという名前を設定します。
<<h1 id='title'>テックアカデミージュニア</h1>
このh1タグをJavaScriptでidを指定して取得します。JavaScriptに標準で格納されているdocumentオブジェクトのメソッドでgetElementByIdというものがありますので、引数にidの名前を渡してください。
今回の場合だと下記のように記述することで、取得したh1タグがtitleという変数に格納されています。
let title = document.getElementById('title');
補足
参考までにidを使って取得したh1タグを少し操作してみます。
取得したElement(h1タグ)がtitleという変数に格納されています。このElementが表示している文字の「テックアカデミージュニア」を取得する場合は下記の記述になります。
title.textContent
今度はElement(h1タグ)のstyleのcolorにredを設定して、文字の色を赤にする場合の記述です。.(ドット)でつなげてカラーコードもしくは色の名前を設定します。
title.style.color = 'red';
まとめ
idは一意(重複しない)であるというルールがあります。
もしidが重複している時にgetElementByIdでElementを取得した場合は、idが一致する1つ目のElementが取得されます。エラーにはならず動作はするものの重複するとバグになりやすいので、idは一意になるようにしてください。
idを指定してJavaScriptで操作することは、比較的扱う機会も多く簡単なのでどんどん使ってみてください。
筆者プロフィール
横山茂雄(よこやましげお)
フリーエンジニアとして活動中。サーバーサイドからフロントまで時代の波に合わせてスキルを変化させてきました。 言語、フレームワーク、DB、現場、いずれも転々としながら、筋トレも欠かさない体育会系エンジニアです。TechAcademyジュニアのゲームアプリコースを担当しています。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。