显示和隐藏一个div的问题

显示和隐藏div的问题

代码:

<!DOCTYPE html>
<html>
   <head>
   
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
            #myDiv {            width: 100px;            height: 100px;            background: red;            display: none;
        }    
    </style>
        
   </head>
     
     <body>
    <input type="button" value="出现">
    <div id="myDiv"></div>
    <script type="text/javascript">
        var oBtn = document.getElementsByTagName('input')[0];        var oDiv = document.getElementById('myDiv');
        oBtn.onclick = function() {
            oDiv.style.display = (oDiv.style.display === "none") ? "block" : "none";
        } 
    </script>
        
     </body>
     
</html>

这里有个问题:上面代码,首次显示div,必须单击两次按钮,后面再显示隐藏就只需单击一次就可以了。

 

解决方法1

三元操作符的判断条件换成反面

 

代码:

oDiv.style.display = (oDiv.style.display === "block") ? "none" : "block";

  解决方法2

  

display:none;

 放在行内,但是最好不要这样(结构方式分离起见);

 

文章来源:https://www.shengli.me/javascript/5.html