Javascript检查css是否显示div
现在,我有一个div,我做了一个内联样式,display:none。当用户单击一个按钮时,它将调用一个javascript函数并将div显示更改为相应的值。然而,我如何才能做这样的检查,因为他们不断返回显示:无,即使在实际情况下,显示是块。 这是我的javascript代码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
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中添加一些内容,以便可以看到它何时可见和不可见 可见的