Javascript 为什么是style.display';s值未定义?

Javascript 为什么是style.display';s值未定义?,javascript,jquery,html,Javascript,Jquery,Html,元素的样式的原因是什么。显示返回值未定义 在我的Javascript中,我有一个if语句检查 if (document.getElementById("myModal").style.display != 'none'){ console.log("The pop up is visible."); do something } 在我的CSS中,我将myModal设置为display:none myModal是一个通过单击访问的弹出式表单 我将js文件的移到了HTML的底部,

元素的
样式的原因是什么。显示
返回值
未定义

在我的Javascript中,我有一个if语句检查

if (document.getElementById("myModal").style.display != 'none'){ 
    console.log("The pop up is visible.");
    do something
}
在我的CSS中,我将
myModal
设置为
display:none

myModal
是一个通过单击访问的弹出式表单

我将js文件的
移到了HTML的底部,这难道不能确保我的DOM在javascript运行之前已完全加载吗?但是,即使不满足条件(即弹出窗口当前不可见),页面加载后也会立即显示
console.log


不确定传单API是否与此有关?

CSS样式表中的内容与元素的样式属性关系不大。style特性仅包括内联样式。注意,在这段代码中,第一个div的样式是空的
style.display
,尽管由于样式表的原因,它是
display:none
;只有第二个和第三个div具有
样式。display
属性设置为任意值:

constdivs=document.querySelectorAll('div');
[].forEach.call(divs,div=>document.body.innerHTML+=div.style.display+'
')
div{
显示:无;
}
Divs:
一个
两个
三

样式:
CSS样式表中的内容与元素的样式属性关系不大。style特性仅包括内联样式。注意,在这段代码中,第一个div的样式是空的
style.display
,尽管由于样式表的原因,它是
display:none
;只有第二个和第三个div具有
样式。display
属性设置为任意值:

constdivs=document.querySelectorAll('div');
[].forEach.call(divs,div=>document.body.innerHTML+=div.style.display+'
')
div{
显示:无;
}
Divs:
一个
两个
三

样式:
Fixed,对不起。@isabelic元素在
标记之前保证在脚本执行之前准备好。Fixed,对不起,@isabelic元素在
标记之前保证在脚本执行之前准备好。谢谢,这很有意义!您是否也知道为什么if语句可能根本无法运行?因此,我将其更改为在
if
之前将显示设置为block,然后检查if
display==“block”
,但它并不完全运行now@ToniAu检查浏览器的控制台是否有错误。如果JavaScript遇到不在
try的
try{}
块内的错误。。catch
语句脚本立即停止,不再执行其他行。谢谢,这很有意义!您是否也知道为什么if语句可能根本无法运行?因此,我将其更改为在
if
之前将显示设置为block,然后检查if
display==“block”
,但它并不完全运行now@ToniAu检查浏览器的控制台是否有错误。如果JavaScript遇到不在
try的
try{}
块内的错误。。catch
语句脚本立即停止,不再执行其他行。