1. 程式人生 > >js獲取不到display的屬性

js獲取不到display的屬性

今天偶然看到以前遺留的一個問題,現在用谷歌除錯了一下,明白了,特此記錄一下。

原問題+code:

為什麼我的點選事件第一次點選沒反應?

<html>
<head>
<style type="text/css">
body{
            background-color:#333;
        }
#myA{
            background-color:#fff;
            width:350px;
            margin-left:10px;
            color:#666;
            padding:10px;
            cursor:pointer;
        }
#hideArea{
            height:30px;
            width:350px;
            background-color:#fff;
            display:none;
        }
    </style>
</head>
<body>
<script>
        function aa(){
            var myArea = document.getElementById("hideArea");
            if(myArea.style.display=="none"){
                myArea.style.display="block";
            }
            else{
                myArea.style.display="none";
            }
        }
    </script>
<div id="myA" onclick="aa()">不會了怎麼辦
  <div id="hideArea"></div>
</div>
</body>
</html>
解答:

因為js是獲取不到嵌入式樣式(頁面的style裡)的display屬性,所以第一次執行aa()時,if裡的就是false了,

然後執行else裡的程式碼,而這裡的程式碼為hideArea塊加上了display=none的屬性,

然後第二次點選就可以正常判斷了。

感想:

學習知識就是不斷的遇到問題解決問題,記得當時我問了很多人也沒弄明白,現在看了一會就明白了,

真是難了不會會了不難啊,以後遇到問題,都記錄下來,等以後知道的多了再去解決。