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,然后检查ifdisplay==“block”
,但它并不完全运行now@ToniAu检查浏览器的控制台是否有错误。如果JavaScript遇到不在try的try{}
块内的错误。。catch
语句脚本立即停止,不再执行其他行。谢谢,这很有意义!您是否也知道为什么if语句可能根本无法运行?因此,我将其更改为在if
之前将显示设置为block,然后检查ifdisplay==“block”
,但它并不完全运行now@ToniAu检查浏览器的控制台是否有错误。如果JavaScript遇到不在try的try{}
块内的错误。。catch
语句脚本立即停止,不再执行其他行。