わかりました、JavaScriptで新しいですが、divタグのinnerhtmlを変更しようとしていますが、スクリプトが機能していません。
<head>
<script type="text/javascript">
function var1() {
document.getElementById('test').innerHTML = 'hi';
}
window.onLoad = var1();
</script>
</head>
<body>
<div id="test">change</div>
</body>
それは動作するはずですが、何らかの理由で動作しません、何か助けはありますか?
var1
をwindow.onload
に割り当てるのではなく、現在、関数を呼び出してその結果を保存しています。また、これは明らかかもしれませんが、var1
は関数の奇妙な名前のようです。これを試して:
function var1() {
document.getElementById('text').innerHTML = 'hi';
}
window.onload = var1;
onload
の大文字と小文字、およびvar1
の後に欠落している括弧に注意してください。
.innerHTML
の使用は 非標準 であり、多くの理由でひどい習慣です。適切な標準メソッドを使用して新しい要素を作成し、それをツリーの必要な場所に追加する必要があります
正しい:
window.onload = var1;
この例では、関数var1は何も返さないため(undefined
)、window.onloadの値はundefined
です。関数var1()を呼び出した結果ではなく、onloadプロパティを関数var1に設定する必要があります。
この例は、「onLoad」で大文字の「L」を小文字の「L」に変更し、現在あるvar1の後の括弧を削除すると機能しますwindow.onLoad = var1();
IDが「test」の要素を取得していますが、HTMLにそのIDの要素はありません。しかし、「テキスト」と呼ばれるものがあります。
OnLoadをonloadに変更してみてください。
function var1(){ document.getElementById( 'test')。innerHTML = 'hi'; } window.onload = var1; // onload
以下は別のより単純なバージョンです
<body>
<div id="test">change</div>
<script type="text/javascript">
document.getElementById('test').innerHTML = 'hi';
</script>
</body>