JavaScriptのgetElementsByNameメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptのgetElementsByNameメソッドの使い方について現役エンジニアが解説しています。getElementByNameメソッドは指定したname属性のNodeListを取得可能です。getElementByIdと違い、返り値はNodeListとなります。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

JavaScriptのgetElementsByNameメソッドの使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

 

JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をみてみましょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptのgetElementsByNameメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

getElementsByNameメソッドとは

getElementsByNameメソッドは、指定したname属性を持つ HTML要素(NodeList)を取得するメソッドです。

例えば以下のような HTML に対して、name属性がlinkの要素をまとめて取得することが可能です。

<a href="#" name="link">My Link</a>
<img src="/path/to/image" name="thumbnail">
<input type="text" name="link">
<!-- a, input をまとめて取得できる -->

 

getElementsByNameメソッドの使い方

getElementsByName(name)メソッドの使い方は、取得したいname属性の値を引数として指定することで使用可能です。

先ほどの例では、name=”link”を持つ要素を取得することになるため、引数として”link”を指定しましょう。

const elements = document.getElementsByName('link');
console.log(elements);
// => NodeList(2) [a, input]

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

getElementByIdメソッドとの違い

類似メソッドとしてgetElementByIdメソッドがあります。

getElementByIdは取得したい要素をIDで指定するメソッドです。

戻り値もNodeListではなく、単一のElementとなります。

// <h1 id="title">My Title</h1>を取得する場合
const element = document.getElementById('title');
console.log(element);
// => <h1 id="title">My Title</h1>

 

getElementsByNameメソッドの注意点

IEやEdgeでは、動作が異なる点には注意が必要です。

  • IE10より以前では、id属性も対象になります
  • IEでは、name属性を許容しないspanなどの要素は対象外になります
  • IE, Edge では NodeListではなくHTMLCollection が返ってきます

getElementsByName メソッドを利用する場合は、影響を受けないために注意が必要でしょう。

執筆してくれたメンター

メンター稲員さん

フリーランスエンジニア。

大手SEからフリーランスのWeb系エンジニアにジョブチェンジ。

経験言語:Ruby、Rails、Python、C/C++、Java、Perl、HTML/CSS3、JavaScript、CoffeeScript、Node.js。

おうち大好きマンです。

 

大石ゆかり

JavaScriptのgetElementsByNameメソッドの使い方の内容がよくわかったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので参加してみてください。