getElementsByClassNameを使うとき

<img src="photo.jpg" alt="" class="class" id="id">

こういう画像があったとして、

let image = document.getElementById('id');
console.log(image.width);

getElementByIdだと幅が取得できるのに、

let image = document.getElementsByClassName('class');
console.log(image.width);

getElementsByClassNameだとundefinedになる。

classは複数ある前提なのでimg要素が1つしか無くても添字を追加しないといけなかった!

let image = document.getElementsByClassName('class');
console.log(image[0].width);

これでIDと同じような動作になって取得できる。

んでも、リロードするたび数値が取れたり取れなかったりする。。。謎