条件に基づいて、ボタンと div の表示と非表示を切り替えたい。現在、JQuery hide は button() に対して機能していますが、show() は div に対しては機能していません。つまり、以下の JavaScript では、条件が満たされた場合、ボタンは非表示になりますが、div は表示されません。
html:
<button type="button" id="my-button" onclick="...do something">Go</button>
<div id="my-text">Please send an email to help@mycompany.com</div>
CSS:
#my-text{
display: none;
}
JavaScript:
<script type="text/javascript">
(function() {
$(document).ready(function() {
var someConditionIsMet = //...compute something
if (someConditionIsMet) {
$('#my-button').hide();
$('#my-text').show();
}
});
})();
</script>
ただし、次のように変更すると
if (someConditionIsMet) {
$('#my-button').hide();
$('#my-text').attr("style", "display:block")
}
その後、正常に動作します。show は基本的に表示スタイルをブロックに変更していると思っていたので、なぜこのように綴らなければならないのかわかりません。理由はありますか?