element.getAttribute

getAttribute() は指定の要素について名前付けされた属性の値を返します。名前付けされた属性が存在しなければ、返される値は null もしくは "" (空文字列) となります。詳細は Notes を参照してください。

構文

var attribute = element.getAttribute(attributeName);
  • attributeattributeName の値を持っている文字列。
  • attributeName は取得したい値を持った属性の名前。

var div1 = document.getElementById("div1");
var align = div1.getAttribute("align");

alert(align); // id="div1" の要素の align の値を表示します。

注記

HTML ドキュメントとしてフラグ付けされた DOM で HTML 要素を呼び出すと、getAttribute() は、実行前に引数を小文字に変換します。

基本的にはすべてのウェブブラウザー (限定的なリストですが Firefox、Internet Explorer、Opera の最新バージョン、Safari、Konqueror そして iCab など) は指定した要素に指定した属性が存在しない場合に null を返します。これは現在の DOM 仕様で指定されています。一方、古い DOM 3 Core 仕様では、このような場合の正しい戻り値は実際には「空文字列」です。そしていくつかの DOM 実装はこの振る舞いを実装しています。XUL (Gecko) では実際に getAttribute の実装は、DOM 3 Core 仕様に従い、空文字列を返します。結果的に、指定の要素に指定の属性が存在しない可能性があるなら getAttribute() を呼ぶ前に属性の存在をチェックするため、element.hasAttribute() を使用すべきでしょう。

ブラウザー互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
getAttributeChrome 完全対応 29Edge 完全対応 12Firefox 完全対応 23IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 23Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応

DOM メソッドは要素の属性を取り扱います。

名前空間に無関係、
最も一般的に使用されるメソッド
名前空間に限定される変数
(DOM Level 2)
Attr ノードを直接扱う DOM レベル 1 のメソッド
(ほとんど使用されない)
Attr ノードを直接扱う DOM レベル 2 名前空間に限定されるメソッド
(ほとんど使用されない)
setAttribute (DOM 1) setAttributeNS setAttributeNode setAttributeNodeNS
getAttribute (DOM 1) getAttributeNS getAttributeNode getAttributeNodeNS
hasAttribute (DOM 2) hasAttributeNS - -
removeAttribute (DOM 1) removeAttributeNS removeAttributeNode -

仕様