#はじめに
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
がごっちゃになって意味不明になってました。。。
理解してしまえば何てことない内容ですが、初期段階ではなかなか理解しがたい部分でした。