はじめに
javascriptを学ぶ過程で取得した要素に対して[0]の表記が出てきて理解できなくて調べた内容です。例えば以下のような記述↓
document.getElementsByClassName("red")[0].classList.remove("red");
内容はredクラスを取得し、クラス名からredを削除となります。
理由
なぜ必要かというと要素を複数取得するようなメソッドを使用するときは(要素が一個でも)要素番号を指定する必要があるということです!
getElementsByTagNameやgetElementsByNameなどは要素が複数返ってくるので添字が必要。
getElementById の場合は単要素が返ってくるので添字は不要です!
(※コメントにあるご指摘を引用してます)
ちなみにjQueryでは
javascriptのライブラリであるjQueryでは要素の指定はeq()を用います。
$("p").eq(2).addClass("red");
pタグの中からポジションが2(ゼロから数えて3番目)のものにredのクラス名を付与。
ということになります。
自分のコードがjavascriptとjQueryがごっちゃになって意味不明になってました。。。
理解してしまえば何てことない内容ですが、初期段階ではなかなか理解しがたい部分でした。