.getElementById()

指定されたidの属性を持つ、要素の参照を返します。

文法

element = document.getElementById(id);
引数 説明
id 見つける対象要素の一意のIDを表す文字列を指定します。 大文字小文字は区別されます。
戻り値
element 要素(Element)オブジェクトへの参照が返ります。 また、ドキュメント内に指定したIDの要素が存在しない場合、nullが返ります。

<!DOCTYPE html>
<html>
<head>
  <title>getElementById example</title>
  <script>
  function changeColor(newColor) {
    var elem = document.getElementById("para1");
    elem.style.color = newColor;
  }
  </script>
</head>
<body>
  <p id="para1">Some text here</p>
  <button onclick="changeColor('blue');">blue</button>
  <button onclick="changeColor('red');">red</button>
</body>
</html>

注意事項

この関数の正しいメソッド名に含まれる"Id"の部分の大文字小文字に注意してください。 "getElementByID"が自然に感じられるかもしれませんが、Dの部分が大文字ですと動作しません

指定されたIDを持つ要素が存在しない場合、関数はnullを返します。 IDパラメーターは大文字小文字を区別することに注意してください。 そのためdocument.getElementById("Main")の処理は、 <div id="main">の要素に対し、"M"と"m"が異なることから、 このメソッドの対象外となり、代わりにnullが返されます。

ドキュメント内に要素が無ければgetElementByIdによって検索されません。 要素を作成してIDを割り当てた場合、getElementByIdを使用してそれにアクセスする前に、 insertBeforeまたは類似のメソッドを使用して、 ドキュメントツリーへ要素を挿入しなければいけません。

var element = document.createElement("div");
element.id = 'testqq';

// elには、nullが返ります!
var el = document.getElementById('testqq');

非HTMLドキュメントの場合、 DOM実装は、ID型がどの属性であるかという情報を持たなければいけません。 "id"の名前を持つ属性は、ドキュメントのDTD内で定義されていなければ、ID型ではありません。 XHTML、XUL、その他の一般的なケースでは、id属性はID型であるとして定義されています。 属性がID型か否かを知らない実装では、nullを返すことが期待されます。

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本 1.0 1.0 (1.7 or earlier) 5.5 7.0 1.0
モバイル
機能 Android Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本 1.0 1.0 (1.0) 6.0 6.0 1.0

仕様

getElementByIdはDOMレベル1でHTMLドキュメントへ導入され、 DOMレベル2で全てのドキュメントへ移されました。

関連項目

  • documentは、 document内の要素への参照を可能にする、その他のメソッドとプロパティを参照します。
  • document.querySelector()は、 'div.myclass'のようなクエリーによるセレクタです。
  • xml:id - has a utility method for allowing getElementById to obtain 'xml:id' in XML documents(such as returned by Ajax calls)

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。