当前位置: 首页 > 面试题库 >

在主样式表中设置myDiv.style.display返回空白

东门胤
2023-03-14
问题内容

简短版本:myDiv.style.display当我在主样式表中将(Javascript)设置div为空白时
,它是否返回标准行为display:none,而通过内联样式进行设置时,则返回“无”?

长版:

我有一些div通过display样式隐藏和隐藏的,并在block和之间使用Javascript进行切换none。它们总是从隐藏(display:none)开始,而隐藏()是我一直使用内联样式设置的:

<div id="anID" class="aClass" style="display:none">
   stuff
</div>

这是在none和之间切换的Javascript
block。两个chOpsXXX()函数只是将设置divSection.style.display为相反的值(以及其他内部管理):

var divSection = document.getElementById("chOpsSection" + strSectionID);
var strDisplay = divSection.style.display;
if (strDisplay == "none") {
    chOpsDisplaySection(strSectionID);
} else {
    chOpsHideSection(strSectionID);
}

当我使用内联样式属性设置初始display:none样式时,这一切都很好。

我还在主样式表中为这些div设置其他样式。因此,我认为将的初始状态display:none移至所述样式表可能有意义。我是这样
我不会发布它,我想您可以想象它。

但是,当我这样做时,div最初是隐藏的(display:none),但是第一次调用divSection.style.display返回一个空字符串(alert(strDisplay);返回一个空字符串,而不是null)。

上面显示的我的Javascript然后将其隐藏(因为它不等于“ none”),然后 下一次
调用divSection.style.display返回“
none”,然后一切正常。(如果inline在主样式表中将其设置为相同的行为:div初始可见,并且第一次调用将divSection.style.display返回一个空白字符串)。

通过在上面的Javascript中同时检查“
none”和“”,很容易修复。但是我想知道是否从divSection.style.display标准字符串返回空白字符串。

欢迎所有答复。


问题答案:

如果您通过JS(例如使用getElementById)访问DOM元素,则将无法读取该元素的 计算样式
,因为它是在CSS文件中定义的。为了避免这种情况,您必须使用属性getComputedStyle(或currentStyle用于IE)。

function getStyle(id, name)
{
    var element = document.getElementById(id);
    return element.currentStyle ? element.currentStyle[name] : window.getComputedStyle ? window.getComputedStyle(element, null).getPropertyValue(name) : null;
}

用法:

var display = getStyle('myDiv', 'display');
alert(display); //will print 'none' or 'block' or 'inline' etc


 类似资料:
  • 问题内容: 我需要有关在Openpyxl中设置样式的建议。 我看到可以设置单元格的NumberFormat,但是我还需要设置字体颜色和属性(粗体等)。有一个style.py类,但是似乎我无法设置单元格的style属性,而且我真的不想开始修改openpyxl源代码。 有没有人找到解决方案? 问题答案: 从openpyxl版本1.5.7开始,我已成功应用以下工作表样式选项… 仅供参考,您可以在…中找到

  • 是否有可能在FXML中设置样式表,类似于在HTML中设置样式表?

  • 在 Rax 中,有以下几种方式给元素设置样式: 内联样式 通过元素的 style 属性,为元素设置内联样式: 1const myStyle = { 2 fontSize: '24px', 3 color: '#FF0000' 4}; 5 6const element = <h1 style={myStyle}>Hello Rax</h1>; 需要注意的是,style 的值是一个 object,

  • 接口说明 设置样式 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /wish3dearth/api/material/shp/v1.0.0/setStyle 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN sceneId string qu

  • 接口说明 设置样式 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 POST /wish3dearth/api/material/shp/v1.0.

  • 我有一个Postgres函数,它返回一个表“RestURNS TABLE......” 代码中有一些商业规则。如果不满足某些条件,我只想返回一个空记录集。有没有简单的方法?或者我需要为返回的每个列选择一个NULL吗? 现在,若我尝试只返回NULL,它会抱怨:错误:查询的结构和函数结果类型不匹配。