Document.GetElementByIdを正常に使用していますが、しばらくしてから再び機能させることはできません。私がそれを使用した古いページはまだ動作しますが、これはとても簡単です:
<html>
<head>
<title>no title</title>
<script type="text/javascript">
document.getElementById("ThisWillBeNull").innerHTML = "Why is this null?";
</script>
</head>
<body>
<div id="ThisWillBeNull"></div>
</body>
</html>
「document.getElementById( "parsedOutput")is null」と常に言っています。 Firefoxを使用するか、Chromeを使用するか、どの拡張機能を有効にするか、HTMLにどのヘッダーを使用するかは関係ありません。常にnullであり、何が間違っているのかわかりません。
ご意見ありがとうございます=)
ページは上から下にレンダリングされます。コードは解析された直後に実行されます。実行時には、divはまだ存在していません。 window.onload関数でラップする必要があります。
これを試して:
<script type="text/javascript">
window.onload = function() {
document.getElementById("ThisWillBeNull").innerHTML = "Why is this null?";
}
</script>
window.onloadがなければ、スクリプトは呼び出されません。 Javascriptはイベントベースの言語であるため、onload、onclick、onmouseoverなどの明示的なイベントがないと、スクリプトは実行されません。
<script type="text/javascript">
window.onload = function(){
document.getElementById("ThisWillBeNull").innerHTML = "Why is this null?";
}
</script>
オンロードイベント:
読み込みイベントは、ドキュメントの読み込みプロセスの最後に発生します。この時点で、ドキュメント内のすべてのオブジェクトがDOMにあり、すべての画像とサブフレームの読み込みが完了しています。
ブラウザは、スクリプトを見つけるとすぐに実行します。その時点では、ドキュメントの残りの部分はまだ読み込まれていません。そのIDを持つ要素はまだありません。そのコードを実行するとafter文書の一部がロードされ、正常に動作します。
<script type="text/javascript">
window.onload += function() {
document.getElementById("ThisWillBeNull").innerHTML = "Why is this null?";
}
</script>
使用する +=
は、ドキュメントのonloadイベントにさらにeventHandler
sを割り当てます。