HTML DOM プロパティオブジェクト


HTML DOM ノード

HTML DOM(Document Object Model)では、すべてはノード:

  • ドキュメントはドキュメントノードです
  • すべてのHTML要素は要素ノードです
  • すべてのHTML属性は属性ノードです
  • HTML要素内に挿入されたテキストはテキストノードです
  • コメントはコメントノードです

Attr オブジェクト

HTML DOM では、Attr オブジェクトは HTML 属性を表します。

HTML属性は常にHTML要素に属します。


NamedNodeMap オブジェクト

HTML DOM では、NamedNodeMap オブジェクト順序のないノードリストを表します。

ノード名を使用して NamedNodeMap 内のノードにアクセスできます。


ブラウザサポート

Internet ExplorerFirefoxOperaGoogle ChromeSafari

すべての主要ブラウザが Attr オブジェクトと NamedNodeMap オブジェクトをサポートしています。


プロパティ / メソッド 説明
attr.isId 属性が ID 型の場合、isId プロパティは true を返し、それ以外の場合は false を返します。
attr.name 属性名を返します
attr.value 属性値を設定または返します
attr.specified 属性が指定されていれば true を返し、それ以外の場合は false を返します
   
nodemap.getNamedItem() ノードリストから指定された属性ノードを返します。
nodemap.item() ノードリスト内の指定されたインデックスのノードを返します。
nodemap.length ノードリストのノード数を返します。
nodemap.removeNamedItem() 指定された属性ノードを削除します
nodemap.setNamedItem() 指定された属性ノードを設定します(名前で)


DOM 4 警告 !!!

W3C DOM コアでは、Attr(属性)オブジェクトはノードオブジェクトのすべてのプロパティとメソッドを継承します。

DOM 4 では、Attr(属性)オブジェクトはノードオブジェクトから継承しなくなりました。

長期的なコード品質の観点から、属性オブジェクト内ではノードオブジェクトのプロパティとメソッドを使用しないようにしてください:

プロパティ / メソッド 回避する理由
attr.appendChild() 属性には子ノードがありません
attr.attributes 属性には属性がありません
attr.baseURI 代わりに document.baseURI を使用します
attr.childNodes 属性には子ノードがありません
attr.cloneNode() 代わりに attr.value を使用します
attr.firstChild 属性には子ノードがありません
attr.hasAttributes() 属性には属性がありません
attr.hasChildNodes 属性には子ノードがありません
attr.insertBefore() 属性には子ノードがありません
attr.isEqualNode() 意味がありません
attr.isSameNode() 意味がありません
attr.isSupported() 通常は true です
attr.lastChild 属性には子ノードがありません
attr.nextSibling 属性には兄弟ノードがありません
attr.nodeName 代わりにattr.name を使用します
attr.nodeType 通常は 2(ATTRIBUTE-NODE)です
attr.nodeValue 代わりにattr.value を使用します
attr.normalize() 属性には仕様がありません
attr.ownerDocument 通常はあなたのHTMLドキュメントです
attr.ownerElement 属性へのアクセスに使用したHTML要素
attr.parentNode 属性へのアクセスに使用したHTML要素
attr.previousSibling 属性には兄弟ノードがありません
attr.removeChild 属性には子ノードがありません
attr.replaceChild 属性には子ノードがありません
attr.textContent 代わりにattr.value を使用します
その他の拡張