HTML要素.setAttribute()
| 対応: | DOM Level 1(1998) |
|---|
HTML要素に指定した属性を設定します。属性がすでに存在する場合は値が上書きされ、存在しない場合は新しく追加されます。
構文
element.setAttribute("属性名", "値");
引数
| 引数 | 概要 |
|---|---|
| 属性名 | 設定したい属性の名前を文字列で指定します。 |
| 値 | 属性に設定する値を文字列で指定します。 |
サンプルコード
sample_setAttribute.html
<a id="link" href="#">八神庵の情報</a> <img id="avatar" src="" alt=""> <button id="btn">送信</button> <input id="input" type="text">
sample_setAttribute.js
// パターン1: 既存の属性を上書きする
var link = document.getElementById("link");
link.setAttribute("href", "https://yagami.example.com");
console.log(link.getAttribute("href")); // 『https://yagami.example.com』と出力されます。
// パターン2: 新しい属性を追加する
link.setAttribute("target", "_blank");
link.setAttribute("data-character", "iori-yagami");
// パターン3: 画像のsrcとaltを設定する
var avatar = document.getElementById("avatar");
avatar.setAttribute("src", "/img/iori.jpg");
avatar.setAttribute("alt", "八神庵");
avatar.setAttribute("width", "200");
// パターン4: ボタンを無効化する
var btn = document.getElementById("btn");
btn.setAttribute("disabled", "true");
// パターン5: inputの型と初期値を設定する
var input = document.getElementById("input");
input.setAttribute("type", "email");
input.setAttribute("placeholder", "kyo@kusanagi.example.com");
input.setAttribute("maxlength", "50");
概要
『HTML要素.setAttribute()』はHTML要素の属性を設定するメソッドです。属性が存在しない場合は新規に追加され、すでに存在する場合は値が上書きされます。
属性の値を取得したい場合は『HTML要素.getAttribute()』を、削除したい場合は『removeAttribute()』を使用してください。
なお、『class』属性を操作する場合は『setAttribute("class", "...")』よりも『HTML要素.classList』を使用する方が安全です。『HTML要素.setAttribute()』で『class』を設定すると既存のクラスがすべて上書きされてしまいます。
『HTML要素.setAttribute()』はチュートリアル記事『id名で要素を特定してその属性を操作してみよう』で、より詳しく解説しています。良ければご覧下さい。
対応ブラウザ
デスクトップ
4 以前 ×
7 以前 ×モバイル
Android Browser
37 以降 ○
4 以前 ×
Chrome Android
36 以降 ○
17 以前 ×
Firefox Android
79 以降 ○
3 以前 ×記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。