本記事では、要素の表示・非表示をCSSを使わずにjQueryのみで簡単に実装する方法について解説しています。
JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
要素を非表示するhide()
要素を非表示にするには、hide()メソッドを使用します。使い方は以下のとおりです。
$("セレクタ").hide();
先輩くん
ボタンをクリックしたら要素が非表示になるサンプルコードを用意したので、動作確認してみましょう!
<!DOCTYPE html>
<html lang="en">
<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" />
</head>
<body>
<p id="point">ボタンをクリックすると非表示になるよ!</p>
<button id="btn">ボタン</button>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="index.js"></script>
</body>
</html>
$("#btn").on("click", function () {
$("#point").hide();
});
要素を表示するshow()
要素を表示にするには、show()メソッドを使用します。使い方は以下のとおりです。
$("セレクタ").show();
先輩くん
ボタンをクリックしたら要素が表示されるサンプルコードを用意したので、動作確認してみましょう!
<!DOCTYPE html>
<html lang="en">
<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" />
</head>
<body>
<p id="point" style="display:none;">要素が表示されたよ!</p>
<button id="btn">ボタン</button>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="index.js"></script>
</body>
</html>
$("#btn").on("click", function () {
$("#point").show();
});
要素の表示・非表示を繰り返すhide()
ユーザーがアクションを起こした際に要素の表示・非表示を繰り返す処理を実装をする場合、先ほど紹介したhide()メソッドとshow()メソッドを使って実装することは可能です。しかし、特定のクラスやdata属性の値などを付与して、出し分ける必要があり少し手間がかかります。
そこで、今回はそんな手間を全て省略して簡潔に実装できるtoggle()メソッドを紹介します。使い方は以下のとおりです。
$("セレクタ").toggle();
先輩くん
ボタンをクリックすると表示・非表示を繰り返すサンプルコードを用意したので、動作確認してみましょう!
<!DOCTYPE html>
<html lang="en">
<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" />
</head>
<body>
<p id="point">ボタンをクリックすると表示・非表示を繰り返すよ!</p>
<button id="btn">ボタン</button>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="index.js"></script>
</body>
</html>
$("#btn").on("click", function () {
$("#point").toggle();
});