Javascript:document.getElementById(";el";).style.display返回空字符串,但不是?
我试图编写一些基本的javascript代码,只检查元素是block还是none(display:block或display:none)。这是我第一次遇到这个问题,因为它在我的另一个网站上运行得非常好。这是我的密码:Javascript:document.getElementById(";el";).style.display返回空字符串,但不是?,javascript,Javascript,我试图编写一些基本的javascript代码,只检查元素是block还是none(display:block或display:none)。这是我第一次遇到这个问题,因为它在我的另一个网站上运行得非常好。这是我的密码: function loading(){ var loader = document.getElementById("loader"); if (loader.style.display == "block"){ var child = documen
function loading(){
var loader = document.getElementById("loader");
if (loader.style.display == "block"){
var child = document.getElementById("loader-ul").childNodes;
alert(child);
}
else{
alert(loader.style.display);
}
}
css(这是必要的):
html(这是必需的):
myweb
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
事实
- 我有使用javascript的经验(因为这段代码只是为了检查 一切正常
- 我花了好几个小时研究这个简单的bug,但我不知道怎么做 为什么
- 从来没有像这样的错误(如果我有,那是因为我没有) 在CSS中有属性,否则我没有将JavaScript链接到HTML 正确)
样式
属性值
使用以查看渲染样式
函数加载(){
var loader=document.getElementById(“加载器”),
display=window.getComputedStyle(loader.display);
如果(显示=“块”){
var child=document.getElementById(“loader ul”).childNodes;
警惕(儿童);
}
否则{
警报(显示);
}
}
#加载器{
显示:块;
位置:固定;
身高:100%;
宽度:100%;
背景色:白色;
z指数:9999;
}
myweb
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
那么,将返回内联样式
属性值
使用以查看渲染样式
函数加载(){
var loader=document.getElementById(“加载器”),
display=window.getComputedStyle(loader.display);
如果(显示=“块”){
var child=document.getElementById(“loader ul”).childNodes;
警惕(儿童);
}
否则{
警报(显示);
}
}
#加载器{
显示:块;
位置:固定;
身高:100%;
宽度:100%;
背景色:白色;
z指数:9999;
}
myweb
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
document.style不返回样式表中的级联样式,只返回JavaScript设置的样式或使用style属性的元素中的样式。。。
改用getComputedStyle
var loader = document.getElementById("loader");
var loadDisplay = window.getComputedStyle(loader, null).getPropertyValue("display");
var loader=document.getElementById(“加载器”);
var loadDisplay=window.getComputedStyle(loader,null).getPropertyValue(“display”);document.style不返回样式表中级联的样式,只返回JavaScript设置的样式或使用样式属性的元素中的样式。。。 改用getComputedStyle var loader = document.getElementById("loader"); var loadDisplay = window.getComputedStyle(loader, null).getPropertyValue("display"); var loader=document.getElementById(“加载器”);
var loadDisplay=window.getComputedStyle(加载器,null).getPropertyValue(“显示”);@Oriol您标记为重复的问题与您请求的问题不一样…您希望得到
显示
,而该问题希望得到顶部
。我想您可以从那里推断出来,不是吗?@Oriol我试过那个问题,但它不起作用。Gaby的回答告诉您使用getComputedStyle
,而您呢假设它有效。其他问题的顶部答案告诉你使用getComputedStyle
,而你说它无效。我无法理解。@Oriol你标记为重复的问题与你要求的问题不一样……你想得到显示
,而这个问题想得到顶部
。我想你可以从那里引出,不是吗?@Oriol我试过那个问题,但没用。Gaby的答案告诉你使用getComputedStyle
,你说它有效。其他问题的最上面的答案告诉你使用getComputedStyle
,你说它无效。我不明白。谢谢!它有效!但为什么我的代码不起作用?(我这样问是因为它对我的另一个网站设计起了作用)@GeorGios你确定在你的另一个网站上
var loader = document.getElementById("loader");
var loadDisplay = window.getComputedStyle(loader, null).getPropertyValue("display");