HTML hidden Property による要素の表示・非表示の切り替え - HTML

HTML hidden Property を利用した要素の非表示切り替えのコードを紹介します。

概要

CSSのdisplay プロパティや、visibility プロパティを利用することで要素の表示、非表示の切り替えができますが、HTML5ではさらにHiddenプロパティを利用して要素の表示、非表示を切り替えることができます。

プログラム

コード

下記のコードを記述します。
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
  <script type="text/javascript">
    function ChangeHidden() {
      var elem = document.getElementById('disp');
      if (elem.hidden == false) {
        elem.hidden = true;
      } else {
        elem.hidden = false;
      }
    }
  </script>
</head>
<body>
  <p>この行は表示されます。</p>
  <p id="disp">この行は非表示になります。</p>
  <p>この行は表示されます。</p>
  <a href="#" onclick="ChangeHidden();">表示切替</a>
</body>
</html>

解説

[表示切替]のリンクがクリックされると下記のコードが実行されます。
<script>
function ChangeHidden() {
  var elem = document.getElementById('disp');
  if (elem.hidden == false) {
    elem.hidden = true;
  } else {
    elem.hidden = false;
  }
}
</script>
getElementByIdメソッドにより、"disp"のIDの要素が取得されelem変数に格納されます。要素のhidden プロパティが false である場合は非表示になっているため、hiddenプロパティを"true"に設定し要素を表示状態にします。hiddenプロパティがfalseでない場合は要素が表示されている状態のため、hiddenプロパティを"false"に設定し要素を非表示の状態にします。

実行結果

上記のHTMLファイルをWebブラウザで表示します。下図の画面が表示されます。


[表示切替]リンクをクリックします。2行目の"この行は非表示になります"の行が非表示になります。


もう一度[表示切替]のリンクをクリックすると、"この行は非表示になります"の行が再表示されます。

補足

hidden プロパティで非表示にした場合は、領域ごと非表示になり、以降の行が詰められて表示されます。CSSのdisplay プロパティにnoneを設定した場合と同様の動作になります。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
最終更新日: 2017-04-18
作成日: 2016-09-28
iPentec all rights reserverd.