当div的style.display实际上是“块”时,为什么if语句返回false?

我正在使用 createreactapp 创建一个反应应用程序。我有这个 if 语句,用于检查 id 为 step1 的 div 的 css display 属性,如下所示:

const step1 = document.getElementById("step-1")  

    if (step1.style.display === 'block') {
                console.log("true")            
              } else {
                  console.log('false')
              }

div的CSS样式如下:

    .step-1 {
           display: block;
        }

但是,当我检查控制台时,if 语句返回或 console.logs 'false' 当它应该是 'true' 时。

我以这种方式简化我的实际问题的原因是因为我试图根据检查 CSS 显示属性值的 if 语句的结果来潜在地隐藏 div。但是,它不起作用。不知道发生了什么。

至于 html,它是一个包含一些内容的简单 div:

<div className="step-1">
 Some content ....
</div>

回答

if (step1.style.display === 'block') {正在检查 的内联样式step1,如果您只想确定它当前是否具有该样式,则需要执行

 const styles = window.getComputedStyle(step1);
 if (styles.getPropertyValue('display') === 'block') {
     // do something
 }


以上是当div的style.display实际上是“块”时,为什么if语句返回false?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>