使用javascript更改显示属性会弄乱格式
我是网页的一部分,只有启用javascript时才应该显示 我尝试了以下方法: 方法1:我将类设置为使用javascript更改显示属性会弄乱格式,javascript,jquery,css,Javascript,Jquery,Css,我是网页的一部分,只有启用javascript时才应该显示 我尝试了以下方法: 方法1:我将类设置为display:hidden然后通过重写javascript来更改它 <script type="text/javascript"> //<![CDATA[ $(document).ready(function() { document.getElementById('only-show-if-js-enabled').style.display = 'block';}
display:hidden代码>然后通过重写javascript来更改它
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
document.getElementById('only-show-if-js-enabled').style.display = 'block';});
//]]>
</script>
//
而且
方法2:我将id更改为显示设置为块(或自动)
//
这两种方法似乎都会导致实际格式混乱,第一种方法忽略了列表样式为“无”的css,第二种方法隐藏了溢出
发生什么事了
更新:
相当尴尬的是,我将溢出设置为auto
,只是认为它被设置为hidden。我的错误
感谢您的两个回复,它们都为最佳实践等提供了一些启示。干杯。这应该可以做到
对,我有点错过了整个问题。。。嗯,如果你改变显示:无,css在没有你提到的代码的情况下工作吗代码>至<代码>显示:块代码>或者,如果您使用firebug之类的工具?现代方法是让您的文档准备功能执行以下操作:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$("body").addClass("js");
//]]>
</script>
$('#only-show-if-js-enabled').show();
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$("body").addClass("js");
//]]>
</script>
#OnlyShowWhenJsDisbaled { display: none; } /*hide by default */
body.js #OnlyShowWhenJsEnabled { display: block; } /*show when js has been confirmed*/