HTML hidden Property による要素の表示・非表示の切り替え
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の作業もする。