以下は、jQuery3.3.1 で表示・非表示する div 要素(.box)の display の値を色々と変えて show(), hide(), toggle() を実行するサンプルです。それぞれのメソッドを実行後、その要素の display の値を取得して表示しています。
<div class="sample" id="box1"> <p class="display">CSS display: <span></span></p> <div class="pre"> <pre>省略</pre> </div> <button class="show">show</button> <button class="hide">hide</button> <button class="toggle">toggle</button> <div class="box"></div> </div> <style> .box { width: 100px; height: 100px; } .sample { margin: 50px 0; height: 450px; } #box1 .box { display: none; } #box2 .box { display: block; } #box3 .box { display: inline; } #box4 .box { display: inline-block; } #box5 .box { display: table; } .hidden { display: none; } </style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(function(){ $(".sample .display span").each(function() { $(this).text($(this).closest(".sample").find(".box").css("display")); }); function update_display_value(this$) { var box = this$.closest(".sample").find(".box"); var span = this$.closest(".sample").find(".display span"); span.text(box.css("display")); } $("#box1 .show").click(function(){ $("#box1 .box").show(); update_display_value($(this)); }); $("#box1 .hide").click(function(){ $("#box1 .box").hide(); update_display_value($(this)); }); $("#box1 .toggle").click(function(){ $("#box1 .box").toggle(); update_display_value($(this)); }); }); </script>
CSS display:
<div id="box1"> <div class="box"></div> </div> 初期 CSS 設定 #box1 .box { display: none; }
CSS display:
<div id="box2"> <div class="box"></div> </div> 初期 CSS 設定 #box2 .box { display: block; }
CSS display:
<div id="box3"> <div class="box">inline</div> </div> 初期 CSS 設定 #box3 .box { display: inline; }
CSS display:
<div id="box4"> <div class="box"></div> </div> 初期 CSS 設定 #box4 .box { display: inline-block; }
CSS display:
<div id="box5"> <div class="box"></div> </div> 初期 CSS 設定 #box5 .box { display: table; }
CSS display:
<div id="box6"> <div class="box" style="display:none"></div> </div> 初期 CSS 設定 #box6 .box { インラインで要素に display:none を指定 }
CSS display:
<div id="box7"> <div class="box hidden"></div> </div> 初期 CSS 設定 以下のクラス(.hidden)を要素に適用 .hidden { display:none; }
以下は、スピードを "slow" に指定して、コールバック関数で display の値を確認する例です。表示・非表示する div 要素の display の初期値は none です。
$("#box8 .hide").click(function(){ $("#box8 .box").hide('slow', function(){ update_display_value($(this)); }); }); $("#box8 .show").click(function(){ $("#box8 .box").show('slow', function(){ update_display_value($(this)); }); }); $("#box8 .toggle").click(function(){ $("#box8 .box").toggle('slow', function() { update_display_value($(this)); }); });
CSS display:
<div id="box1"> <div class="box"></div> </div> 初期 CSS 設定 #box8 .box { display: none; }