IEでonloadイベントがエラー(IDが定義されていません)の解決方法

以下のようなonloadイベントが、IEでだけうまく動かなかったので、メモ。
ちなみに、この状態だと両方とも動きます。
・・・の所へいろんなスクリプトが入った状態だとIDが定義されていませんというエラーで動きませんでした。
他のスクリプトとの干渉かもしれませんが、突き止められませんでした。

動かなかったスクリプト

<img src="./image.jpg" id="hoge" />
・
・
・
<script>
・
・
・
hoge.onload = function(){
    console.log('表示されました!');
}
</script>

解決方法

<img src="./image.jpg" id="hoge" />
・
・
・
<script>
・
・
・
document.getElementById('hoge').onload = function(){
    console.log('表示されました!');
}
</script>

IDの指定の仕方を変えたら動きましたが、結局原因わからず。