简短版本:myDiv.style.display当我在主样式表中将其设置div为(Javascript) 时返回空白display:none,但在通过内联样式设置时返回“none”,这是 标准行为吗?
长版:
我有一些div我通过他们的display风格隐藏和取消隐藏的 s,在block和之间用 Javascript 切换它none。它们总是从display:none我一直使用内联样式设置的hidden ( )开始:
<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是否是标准行为。
欢迎所有回复。