js中style.display="" 无效的解决方案

看下面一段代码:

<style>

 #name
{ display:none; }
</style> </head> <body> <div id="name" > My name is smile. </div> </body> </html> <script> window.onload=function(){ document.getElementById('name').style.display=""; alert("test"); } </script>

css定义了id為name的div为隐藏,而我们在页面加载完成之后用js控制该id显示出来,这样写有错么?
木有错?可是为什么界面上还是空白呢?
记得不?还有一个用法是xxx.style.display="block" 那我们试试吧,
呜呼,竟然显示了!!!

那我们查看一下style.display=""style.display="block"用法有什么不同吧。

其实,这两个的最大区别是block是块显示的,所以会换行,那么既然就这么点区别,为什么在本例子中一个可以显示,一个不行呢?困扰。

好吧,这个问题先放开,我们先看现在这个问题中我们如何解决,除了用style.display="block"可以解决外,还有另外一种办法就是:

<div id="name" style="display:none" >

My name is smile.

</div>

<script>

     document.getElementById('name').style.display="";

</script>

就是把id为name的样式用style这样内置到标签内,这样不管用display=""还是display="block"就都可以正常显示啦!!!

你可能感兴趣的:(display)