なぜこれが機能しないのですか?
バニラJavaScriptを使用してbodyタグのスタイルを設定しますか?
<html>
<body style="display:none;">
test
</body>
<script>
document.getElementsByTagName("body").style.display = "block";
</script>
</html>
なぜこれが機能しないのですか?
バニラJavaScriptを使用してbodyタグのスタイルを設定しますか?
<html>
<body style="display:none;">
test
</body>
<script>
document.getElementsByTagName("body").style.display = "block";
</script>
</html>
単一の要素ではなく、NodeListgetElementsByTagName()
を返すためです。配列として扱います:
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>