为什么这不起作用?
使用 vanilla JavaScript 设置 body 标签的样式?
<html>
<body style="display:none;">
test
</body>
<script>
document.getElementsByTagName("body").style.display = "block";
</script>
</html>
为什么这不起作用?
使用 vanilla JavaScript 设置 body 标签的样式?
<html>
<body style="display:none;">
test
</body>
<script>
document.getElementsByTagName("body").style.display = "block";
</script>
</html>
因为getElementsByTagName()
返回NodeList,而不是单个元素。将其视为数组:
document.getElementsByTagName("body")[0].style.display = "block";
在以下情况下甚至更简单body
:
document.body.style.display = "block";
如果你想要body
标签,你可以简单地使用document.body
. 请参阅演示。
console.time("show body");
document.body.style.display = "none";
setTimeout(function () {
console.timeEnd("show body");
document.body.style.display = "block";
}, 3000);
<h1>Hello World!</h1>
我使用了以下解决方案:
<script>
function changeDisplay(){
document.body.style.display = 'block';
}
setTimeout(function () { changeDisplay(); }, 0);
</script>
whilebody
是文档本身的一部分,您不必调用 getElementBy...,您只需直接说document.body.style.display = "block";