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