タグ名で要素を取得する (getElementsByTagName)
document.getElementsByTagName()
関数を使用すると、指定したタグ名を持つ要素を取得することができます。
同じタグ名を持つ要素は複数存在する可能性があるので、戻り値は配列になります。
クラス名で要素を取得する (getElementsByClassName)
document.getElementsByClassName()
関数を使用すると、指定したクラス名が class
属性に含まれている要素を取得することができます。
そのような要素は複数存在する可能性があるので、戻り値は配列になります。
ID で要素を取得する (getElementById)
document.getElementById()
関数を使用すると、指定した ID を id
属性に持つ要素を取得することができます。
指定した ID を持つ要素が見つからない場合は null
を返します。
特定の ID を持つ要素は高々ひとつしか存在することができないので、getElementsByTagName
や getElementsByClassName
とは異なり、getElementById
は単一の要素を返すことに注意してください。
子要素からのみ検索する
document
の代わりに、特定の親要素に対して前述のメソッドを呼び出すようにすれば、その子要素だけを検索対象とすることができます。
下記の例では、まず ID で要素を検索し、次にタグ名による検索を行なっています。
セレクタ API で要素を取得する (querySelector, querySelectorAll)
CSS のセレクタ形式(#foo
や .bar
など)で要素を指定して取得したいときは、document.querySelector()
関数や document.querySelectorAll()
関数を使用します。
前者は最初に見つかった要素、後者は見つかった全ての要素を返します。
☝️ jQuery と同じ?
jQuery が登場した当初は、このようなセレクタ API が使えることがひとつのウリでした。
現在は JavaScript の機能として
querySelectAll()
が使えるようになっているので、セレクタ API だけのために jQuery を使用する必要はなくなりました。