HTML DOM Element setAttributeNode() メソッド

定義と使用法

setAttributeNode() メソッドは指定された属性ノードを要素に追加し、Attribute オブジェクトを返します。

この指定された属性が既に存在する場合、このメソッドはそれを置き換えます。

代替案:

使用 setAttribute() メソッド 簡単です。

も参照してください:

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

getAttributeNode() メソッド

removeAttributeNode() メソッド

createAttribute() メソッド

getAttribute() メソッド

setAttribute() メソッド

hasAttribute() メソッド

Attribute value 属性

HTML DOM Attribute オブジェクト

チュートリアル:

HTML 属性

setAttribute() と setAttributeNode() の違い

setAttribute() メソッドで属性値を置き換えます。

setAttributeNode() メソッドで Attribute オブジェクトを置き換えます。

属性を要素に追加する前に、Attr オブジェクトを作成して Attr 値を設定する必要があります。

結果は同じです。

例 1

設定する最初の <h1> 元素の class 属性ノード:

const attr = document.createAttribute("class");
attr.value = "democlass";
const h1 = document.getElementsByTagName("H1")[0];
h1.setAttributeNode(attr);

実際に試してみてください

設定前:

Hello World

設定後:

Hello World

例 2

<a> 要素の href 属性ノードを設定:

const attr = document.createAttribute("href");
attr.value = "";
const anchor = document.getElementById("myAnchor");
anchor.setAttributeNode(attr);

実際に試してみてください

設定前:

codew3c.com を訪れてください

設定後:

codew3c.com を訪れてください

構文

element.setAttributeNode(newAttr)

引数

引数 説明
newAttr 必須。追加する属性、または値を変更する必要がある属性の Attr ノードを表します。

返り値

タイプ 説明
オブジェクト

置き換わった属性ノードの Attr オブジェクトを表します。

属性が置き換わらなかった場合、null です。

スロー

このメソッドは以下のコードを含む DOMException 例外をスローします:

例外 説明
INUSE_ATTRIBUTE_ERR newAttr すでに他の Element ノードの属性集合のメンバーです。
NO_MODIFICATION_ALLOWED_ERR 現在の Element ノードは読み取り専用であり、属性の変更は許可されていません。
WRONG_DOCUMENT_ERR newAttr の ownerDocument 属性は設定する Element ノードとは異なります。

ブラウザのサポート

element.setAttributeNode() DOM Level 1 (1998) の機能です。

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

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