【问题标题】:Why ican't it find the display property? (more below)为什么找不到显示属性? (更多下文)
【发布时间】:2021-07-06 06:37:24
【问题描述】:

我向按钮添加了一个事件监听器,它会显示 #popUpForm 的 css,但是在控制台上它什么也不记录。

标记:

<input id = "addItem" type = button value = "+">
                
<div id = "popUpForm">
    /* lot of divs*/
</div>

脚本:

const addBtn = document.querySelector('#addItem')

addBtn.addEventListener('click', function(){
    console.log(document.querySelector('#popUpForm').style.display)
})

css:

#popUpForm{
    width: 350px;
    height: 500px;

    display:none;  <-- looking for this
}

我正在使用 webpack,有可能它以某种方式弄乱了我的代码吗?任何帮助表示赞赏!

【问题讨论】:

标签: javascript html css webpack


【解决方案1】:

element.style仅内联样式

要检查当前应用的样式,无论来源如何,请使用

window.getComputedStyle(document.querySelector('#popUpForm')).display

相反。请注意,在性能方面这是一个非常昂贵的调用,因此只有在没有更好的解决方案可用时才使用它。

话虽如此,我建议使用该作业的 API,即 hidden API,这将简化对可见性的检查

document.querySelector('#popUpForm').hidden

特别是,这使得切换可见性变得非常容易:

document.querySelector('#popUpForm').hidden = !document.querySelector('#popUpForm').hidden

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多