1. ホーム
  2. javascript

[解決済み] document.documentElementは常に定義され、常にhtml要素になるのでしょうか?

2022-02-16 13:27:16

質問

を修正したいのですが <html> 要素の中にあるスクリプトから <head> 要素を使用します。のいずれにもアクセス/変更する必要はありません。 <html> の子であり、単に <html> そのものです。

そのスクリプトは、場合によっては DOMContentLoaded それとも document.documentElement 常に は定義されているのでしょうか?そうですか? document.documentElement 常に である <html> 要素ですか?

例えば

<html>
  <head>
    <script type="text/javascript">
      document.documentElement.style.foo = 'bar';
    </script>
  </head>
  <body>
    <!-- ... -->
  </body>
</html>

解決方法は?

はい、常に定義されています。

<ブロッククオート

documentElement プロパティは ドキュメントを Element オブジェクトとして扱います。HTML ドキュメントの場合、返されるオブジェクトは <html> 要素で構成されます。このプロパティは読み取り専用である。

https://www.w3schools.com/jsref/prop_document_documentelement.asp

一方 document.body からスクリプトが実行されている場合、NULLにすることができます。 <head> タグを使用し、ページが完全にロードされていない場合。 <html> 要素は常にhtml文書に存在します。