質問: document.documentElement.scrollTop || document.body.scrollTop; if (scrollTopMv >100){ mvOl.classList.add('show'); }else{ mvOl.classList.remove('show'); } } ```
回答: HTMLのclass属性って、複数の要素につけることができる前提なので、 `document.getElementsByClassName()`の結果は、配列のようなものになっているんです。 たとえその要素が1つしかなかったとしてもです。 たとえばこんな感じです。`[ 要素1, 要素2, 要素3 ]` この配列のようなものは **HTMLCollection** と呼ばれています。 となると、`add()`や`remove()`のメソッドが使えるのは、`要素1`や`要素2`であって、 **HTMLCollection**には使えないのです。 なので、配列とおなじように、複数の要素それぞれに同じことがしたいなら **for** を使って、ひとつひとつの要素に対して`add()`や`remove()`をする必要があります。 たとえそのクラスを持ってる要素が1つしかなかったとしても `mvOl` は **HTMLCollection** なので、 `mvOl[0]`というふうに、中身の要素を指定してあげないといけないのです。