HTML DOM Element setAttribute() メソッド

定義と使用方法

setAttribute() 指定された属性を追加し、その値を設定します。

指定された属性が既に存在する場合、値のみを設定または変更します。

注意:HTML ドキュメントの HTMLElement オブジェクトは、すべての標準的な HTML 属性に対応する JavaScript 属性を定義しています。したがって、非標準的な属性を設定する必要がある場合にのみ、このメソッドを使用する必要があります。

も参照してください:

リファレンスマニュアル:

getAttribute() メソッド

removeAttribute() メソッド

hasAttribute() メソッド

hasAttributes() メソッド

getAttributeNode() メソッド

setAttributeNode() メソッド

removeAttributeNode() メソッド

チュートリアル:

HTML 属性

インスタンス

例 1

要素にclass属性を追加します:

element.setAttribute("class", "democlass");

追加前:

Element オブジェクト

追加後:

Element オブジェクト

自分で試してみてください

例 2

入力フィールドをボタンに変更します:

myInput.setAttribute("type", "button");

自分で試してみてください

変更前:

変更後:

例 3

<a>要素に href 属性を追加します:

myAnchor.setAttribute("href", "");

自分で試してみてください

追加前:

codew3c.com にアクセスしてください

追加後:

codew3c.com にアクセスしてください

例 4

target 属性の値を "_self" に変更します:

if (element.hasAttribute("target")) {      
  element.setAttribute("target", "_self");
}

自分で試してみてください

構文

element.setAttribute(name, value)

パラメータ

パラメータ 説明
name 必要。属性の名前。
value 必要。新しい属性値。

返り値

なし。

投げ出します。

例外 説明
INVALID_CHARACTER_ERR パラメータ name HTML 属性名または XML 属性名に使用できない文字が含まれています。
NO_MODIFICATION_ALLOWED_ERR 現在の要素は読み取り専用であり、その属性を変更することは許可されていません。

注意:

値を持つ style 属性を要素に追加できますが、これをすることは推奨しません。なぜなら、style 属性内の他の属性をオーバーライドするためです。

Style オブジェクトの属性を使用してください:

欠点:

element.setAttribute("style", "background-color:red;");

利点:

element.style.backgroundColor = "red";

ブラウザのサポート

element.setAttribute() DOM レベル 1 (1998) の特性です。

すべてのブラウザで完全にサポートされています:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
サポート 9-11 サポート サポート サポート サポート