香草JavaScript在身体上设置了样式

时间:2013-03-20 09:20:33

标签: javascript

为什么这不起作用?

使用vanilla JavaScript在body标签上设置样式?

<html>
   <body style="display:none;">
       test
   </body>
   <script>
       document.getElementsByTagName("body").style.display = "block";
   </script>
</html>

4 个答案:

答案 0 :(得分:57)

因为getElementsByTagName()会返回NodeList,而不是单个元素。将其视为数组:

document.getElementsByTagName("body")[0].style.display = "block";

body

的情况下甚至更简单
document.body.style.display = "block";

答案 1 :(得分:5)

如果您想要body标记,只需使用document.body即可。请参阅演示:http://jsfiddle.net/TH3Yd/

答案 2 :(得分:3)

我使用了以下解决方案:

<script>
    function changeDisplay(){
        document.body.style.display = 'block';
    }

    setTimeout(function () { changeDisplay(); }, 0);
</script>

答案 3 :(得分:0)

虽然 body 是文档本身的一部分,但您不必调用 getElementBy...,您只需直接说 document.body.style.display = "block";