js獲取不到display的屬性
阿新 • • 發佈:2019-01-24
今天偶然看到以前遺留的一個問題,現在用谷歌除錯了一下,明白了,特此記錄一下。
原問題+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的屬性,
然後第二次點選就可以正常判斷了。
感想:
學習知識就是不斷的遇到問題解決問題,記得當時我問了很多人也沒弄明白,現在看了一會就明白了,
真是難了不會會了不難啊,以後遇到問題,都記錄下來,等以後知道的多了再去解決。