Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript检查css是否显示div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript检查css是否显示div

Javascript检查css是否显示div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,现在,我有一个div,我做了一个内联样式,display:none。当用户单击一个按钮时,它将调用一个javascript函数并将div显示更改为相应的值。然而,我如何才能做这样的检查,因为他们不断返回显示:无,即使在实际情况下,显示是块。 这是我的javascript代码 function unhideDiv(){ var divDOC=document.querySelector('divContent'); var result = document.getComputedStyle(di

现在,我有一个div,我做了一个内联样式,display:none。当用户单击一个按钮时,它将调用一个javascript函数并将div显示更改为相应的值。然而,我如何才能做这样的检查,因为他们不断返回显示:无,即使在实际情况下,显示是块。 这是我的javascript代码

function unhideDiv(){
var divDOC=document.querySelector('divContent');
var result = document.getComputedStyle(divDOC, '').display;
if(result=='none'){
divDOC.style.display="block";
}
else
{
divDOC.style.display="none";
}

}
这是我的html代码

    <div id="divContent" style="display:none;" >
    </div>
<button onclick="unhideDiv()">Click This </button>

非常感谢你的帮助。提前谢谢

确保使用querySelector方法针对正确的元素:

var divDOC=document.queryselectordvcontent

另外,获取computedStyle的命令是window.getComputedStyle

所以你的代码应该是这样的:

function unhideDiv(){
    var divDOC=document.querySelector('#divContent');
    var result = window.getComputedStyle(divDOC, '').display;
    if(result=='none'){
        divDOC.style.display="block";
    }
    else
    {
        divDOC.style.display="none";
    }
}

给元素一个隐藏它的类,然后切换该类,这要容易得多

.隐藏{ 显示:无; } 点击这个 div 函数切换隐藏{ getElementById'divContent'。classList.toggle'hide'; } 我喜欢这个解决方案:

//external.js var文件,E;//在其他负载上重复使用 addEventListener“加载”函数{ doc=文件; E=functionid{//超级简单 返回doc.getElementById; } 变量bS=E'box'。样式,d=1; E'butt'。添加了EventListener'click',函数{ ifd{ bS.display='none';d=0; } 否则{ bS.display=‘block’;d=1; } }; }; /*external.css*/ html,正文{ 填充:0;边距:0; } 梅因先生{ 宽度:980px;边距:0自动; } 盒子{ 宽度:100px;高度:100px;背景:橙色 } 试验箱
只需使用jQuery的.toggle。如果您想自己执行此操作,请使用变量存储状态。在函数中,切换变量,然后根据其新值设置样式。应打开浏览器控制台以检查错误。同样,querySelector'divContent'应该是querySelector'divContent',但是既然在这个问题中已经标记了jQuery,为什么不直接使用toggle…?如果您将Element.style.display设置为您想要的开始,您就不必获得计算的样式。或者想想0和1。@PHPglue还有什么我可以解决的吗?默认情况下,我希望隐藏div。单击按钮后,它会将显示设置为块。@QCcccc使用window.getComputedStyle而不是document.getComputedStyle时,您可能还希望在div中添加一些内容,以便可以看到它何时可见和不可见 可见的