为什么这不起作用?
使用vanilla JavaScript在body标签上设置样式?
<html>
<body style="display:none;">
test
</body>
<script>
document.getElementsByTagName("body").style.display = "block";
</script>
</html>
答案 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";