JavaScript中style.display获取CSS display:none失效的原因与解决

作者:交互手记时间:2026-10-22 02:25:46浏览:326

在JavaScript中直接通过element.style.display读取CSS样式表中定义的display:none值,通常返回空字符串而非none。这是因为element.style仅获取内联样式。要正确读取CSS定义的属性,应使用getComputedStyle方法获取最终计算后的样式值,从而解决通过JS控制元素显隐时的判断失效问题。

JavaScript获取CSS display:none失效的原因

现象表现为点击第二次蓝色横条时才生效,说明第一次点击时未能正确获取到foot.style.display等于"none"的状态。尽管在CSS中已经明确定义了相关样式,但JS逻辑未能按预期工作。


<style type="text/css">


#top {width:100px; background-color:#00CCFF; height:20px}


#foot {width:100px; background-color: #CCCC00; height:50px; display:none}


</style>


<script language="javascript">


<!--

function qa(){


if (foot.style.display=="none") {


foot.style.display="block";};


else {


foot.style.display="none;"}


}
-->

</script>


</head>


<body>


<div id="top" onclick="qa()"></div>


<div id="foot">


</body>


作者最新文章