Div设置显示:在CSS类没有 – 为什么我不能重写它,并显示正文中的div?
我有一个非常简单的外部CSS样式表具有以下内容:
div.hideBox { display:none; }
所以当html页面加载时,具有该类属性'hideBox'的div将不会显示在页面上,这是我想要的。 但是当用户点击同一页面上的button时,我会显示/显示该框。 我试图使用onclick事件来做到这一点,但div不会显示。
所以例如,代码将是:
<script language="javascript"> function showmydiv() { document.getElementById('mybox').style.display = ""; } </script> </head> <body> <div id="mybox" class="hideBox"> some output of text </div> <input type="button" name="ShowBox" value="Show Box" onclick="showmydiv()">
奇怪的是,当我使用visibility:hidden; position:absolute;
时,类似于这个设置的设置有效visibility:hidden; position:absolute;
visibility:hidden; position:absolute;
我可以使用JavaScript函数来显示<div>
。
我在这里做错了什么?
因为将div
的display
样式属性设置为""
并不会改变CSS规则本身的任何内容。 这基本上只是创build一个“空的” 内嵌 CSS规则,除了清除该元素上的同一个属性之外,它没有任何作用。
你需要把它设置为有价值的东西:
document.getElementById('mybox').style.display = "block";
如果你正在replacediv上的内联样式,你正在做的工作就像这样:
<div id="myBox" style="display: none;"></div> document.getElementById('mybox').style.display = "";
document.getElementById('mybox').style.display = "block";
尝试设置显示在您的JavaScript块,而不是一个空白值。
我可以看到,你想写你自己的短JavaScript的,但你有没有考虑使用Frameworks的HTML操作? 对于这样的任务,jQuery是我的首选工具,尽pipe它对于你当前的问题来说是一个矫枉过正,因为它有很多额外的function。
看看这里的jQuery