関数宣言を使用して要素のスタイル属性を変更する関数を定義すると、エラーが報告されます
#ただし、window.onload ではエラーは報告されません
大家讲道理2017-07-05 11:01:56
ベイビー、これはあなたが使用する機能とは関係ありません!これは、onload がドキュメントのロード後にトリガーされるためであり、ドキュメントがロードされておらず、要素が見つからないため、エラーが報告されているはずです
。PHP中文网2017-07-05 11:01:56
これは関数の宣言や匿名性とは関係なく、関数呼び出しのタイミングに関係します。
これに変更しても、匿名関数の問題を見つけることができますか?
前者が呼び出された場合、ボックス要素はまだ使用できないため、エラーが報告されます。後者は、DOM の準備ができた後に呼び出され、実行できるようになります。ボックスオブジェクトをchange関数に記録して確認できます。
扔个三星炸死你2017-07-05 11:01:56
それは問題ではありません。ドキュメントは上から下にロードされることを知っておく必要があります。head
里
执行到js文件的时候,这个时候连body都还没加载,自然无法获取到box,也就无法设置css了。
你可以把js文件放到body
:
そうすれば必要なくなりますwindow.onload
了
如果放在了head里面
就需要在js文件头部写window.onload=function(){......}