カテゴリ: JavaScript 更新日: 2026/02/23

JavaScriptで要素の表示・非表示を切り替える方法(display・visibility)を完全解説

JavaScriptで要素の表示・非表示を切り替える方法(display, visibility)
JavaScriptで要素の表示・非表示を切り替える方法(display, visibility)

先生と生徒の会話形式で理解しよう

生徒

「Webページで、ボタンを押したら文字が消えたり、また表示されたりするのを見たことがあるんですが、あれはどうやっているんですか?」

先生

「それはJavaScriptを使ったDOM操作で、HTMLの要素を表示したり非表示にしたりしています。」

生徒

「DOM操作って難しそうです…。パソコンもあまり触ったことがなくて…」

先生

「大丈夫です。画面にある部品をJavaScriptで動かすイメージで考えれば、とてもシンプルですよ。」

1. JavaScriptのDOM操作とは?

1. JavaScriptのDOM操作とは?
1. JavaScriptのDOM操作とは?

JavaScriptのDOM操作とは、HTMLで作られたWebページの内容を、あとから自由に変更する仕組みのことです。DOMとは「Document Object Model」の略で、Webページを部品の集まりとして考えたものです。

たとえば、文章、画像、ボタンなどはすべて部品として扱われます。JavaScriptを使うと、それらの部品を取得して、表示したり隠したり、文字を変えたりできます。

難しく考えず、「画面の中のパーツを操作するための仕組み」と覚えておけば大丈夫です。

2. 要素の表示・非表示を切り替える目的

2. 要素の表示・非表示を切り替える目的
2. 要素の表示・非表示を切り替える目的

JavaScriptで要素の表示・非表示を切り替える理由はたくさんあります。たとえば、説明文を必要なときだけ表示したり、ボタンを押したらメニューを開いたりするためです。

最初からすべて表示してしまうと画面がごちゃごちゃしますが、必要な情報だけを見せることで、見やすく使いやすいWebページになります。

このような動きを実現するために、JavaScriptのDOM操作とCSSの設定を組み合わせて使います。

3. displayプロパティで表示・非表示を切り替える

3. displayプロパティで表示・非表示を切り替える
3. displayプロパティで表示・非表示を切り替える

displayは、HTML要素を画面に表示するか、完全に消すかを決めるCSSの設定です。JavaScriptからこの値を変更することで、要素の表示・非表示を切り替えられます。

displayを「none」にすると、その要素は存在しないかのように扱われ、画面から完全に消えます。元に戻すときは「block」や「inline」などを指定します。


const text = document.getElementById("sample");

text.style.display = "none";   // 非表示
text.style.display = "block";  // 表示

ここでは「style」とは見た目の設定、「display」は表示方法を意味します。「none」は表示しないという意味だと覚えてください。

4. visibilityプロパティの特徴

4. visibilityプロパティの特徴
4. visibilityプロパティの特徴

visibilityも要素の表示・非表示を切り替えるためのCSS設定ですが、displayとは少し動きが違います。

visibilityを「hidden」にすると、要素は見えなくなりますが、そこにあった場所はそのまま残ります。つまり、透明になったようなイメージです。


const box = document.getElementById("box");

box.style.visibility = "hidden"; // 見えなくする
box.style.visibility = "visible"; // 再表示

displayは「席ごと消す」、visibilityは「席はあるけど姿が見えない」と考えると理解しやすいです。

5. displayとvisibilityの違いを理解しよう

5. displayとvisibilityの違いを理解しよう
5. displayとvisibilityの違いを理解しよう

displayとvisibilityはどちらも非表示にできますが、使いどころが違います。

画面のレイアウトを詰めたい場合はdisplay、場所はそのままで一時的に隠したい場合はvisibilityを使うと便利です。

初心者のうちは「完全に消したいならdisplay」「透明にしたいならvisibility」と覚えておけば問題ありません。

6. 実際のHTMLと組み合わせた例

6. 実際のHTMLと組み合わせた例
6. 実際のHTMLと組み合わせた例

ここでは、HTMLとJavaScriptを組み合わせて、文字の表示・非表示を切り替える簡単な例を紹介します。


<p id="message">ここに表示されるメッセージ</p>
<button onclick="toggle()">切り替え</button>

function toggle() {
  const msg = document.getElementById("message");

  if (msg.style.display === "none") {
    msg.style.display = "block";
  } else {
    msg.style.display = "none";
  }
}

ボタンを押すたびに、文字が表示されたり消えたりします。条件分岐を使って、今の状態に応じて動きを変えています。

7. 初心者がつまずきやすいポイント

7. 初心者がつまずきやすいポイント
7. 初心者がつまずきやすいポイント

JavaScriptで表示・非表示を切り替えるとき、「なぜ動かないのか分からない」と感じることがあります。その多くは、idの指定ミスや、displayの値の書き間違いが原因です。

英単語はすべて小文字で書くこと、要素のidがHTMLと一致していることを、落ち着いて確認するようにしましょう。

ゆっくり一つずつ確認すれば、必ず理解できるようになります。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptで非同期処理を扱う基本!Promise(プロミス)とasync/awaitを初心者向けに徹底解説
New2
TypeScript
TypeScriptの型に関するエラーの読み方と対処法|初心者でも理解できるエラーメッセージの意味
New3
TypeScript
TypeScriptのプロジェクトをtscでビルドする基本操作を解説!初心者にもわかるステップバイステップ
New4
JavaScript
JavaScriptでDOM操作時のパフォーマンス改善テクニックを初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptで新しい要素を作成する方法(createElement, appendChildなど)
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptのプロジェクトをtscでビルドする基本操作を解説!初心者にもわかるステップバイステップ
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptで要素の属性を操作する方法を完全解説!初心者でもわかるDOM操作入門
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptの型エイリアス(type)とは?初心者でもわかる使い方と活用例
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptのファイル分割とimport/exportの基本を徹底解説!初心者でも安心のやさしい入門