所以我对javascript相当陌生,我正在尝试使用一个简单的 if...else 语句在显示和隐藏 div 元素之间切换。我的 HTML 页面如下所示:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
<style type="text/css">
#fluffy {
height:200px;
width:200px;
background-color:yellow;
display:block;
}
#pepper {
height:200px;
width:200px;
background-color:green;
display:block;
}
</style>
</head>
<body>
<div id="fluffy"></div>
<div id="pepper" onclick="changeState()"></div>
<script type="text/javascript">
function changeState() {
var divState = document.getElementById('fluffy').style.display;
if (document.getElementById('fluffy').style.display == 'block') {
document.getElementById('fluffy').style.display = 'none';
}
else if (document.getElementById('fluffy').style.display == 'none') {
document.getElementById('fluffy').style.display = 'block';
} else {
alert('test error message');
}
}
</script>
</body>
</html>
当我在浏览器中加载页面时,我收到一个包含“测试错误消息”的警告框。我的原始代码将 document.getElementById('fluffy').style.display 存储在一个名为 divState 的变量中,但这甚至没有给我一个警告框,它什么也没做。我觉得我在使用 == 错误之类的东西,但我真的不确定。我使用了 ===,当它不起作用时,我切换到 ==,它在上面的代码中。
如果有人知道我到底做错了什么,我将不胜感激。
谢谢,哈罗德