LoginSignup
1
0

More than 3 years have passed since last update.

[javascript]要素に対してなぜ[0]を付ける?

Last updated at Posted at 2020-08-25

はじめに

javascriptを学ぶ過程で取得した要素に対して[0]の表記が出てきて理解できなくて調べた内容です。例えば以下のような記述↓


document.getElementsByClassName("red")[0].classList.remove("red");

内容はredクラスを取得し、クラス名からredを削除となります。

理由

なぜ必要かというと要素を複数取得するようなメソッドを使用するときは(要素が一個でも)要素番号を指定する必要があるということです!

getElementsByTagNamegetElementsByNameなどは要素が複数返ってくるので添字が必要。
getElementById の場合は単要素が返ってくるので添字は不要です!
(※コメントにあるご指摘を引用してます)

ちなみにjQueryでは

javascriptのライブラリであるjQueryでは要素の指定はeq()を用います。


 $("p").eq(2).addClass("red");

pタグの中からポジションが2(ゼロから数えて3番目)のものにredのクラス名を付与。
ということになります。

自分のコードがjavascriptjQueryがごっちゃになって意味不明になってました。。。

理解してしまえば何てことない内容ですが、初期段階ではなかなか理解しがたい部分でした。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0