显示和隐藏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;
放在行内,但是最好不要这样(结构方式分离起见);