--- title: Element.outerHTML slug: Web/API/Element/outerHTML tags: - API - DOM - DOM 解釈 - Element - NeedsMobileBrowserCompatibility - Parsing - プロパティ - リファレンス - シリアライズ - Serializing - outerHTML browser-compat: api.Element.outerHTML translation_of: Web/API/Element/outerHTML --- {{APIRef("DOM")}} **`outerHTML`** は {{ domxref("Element") }} DOM インターフェイスの属性で、要素とその子孫を含む部分の HTML がシリアライズされたものを取得します。設定することで、指定された文字列を解釈したノードの要素に置き換えることができます。 要素の内容のみの HTML 表現を取得する場合や、要素の内容を置き換える場合であれば、代わりに {{domxref("Element.innerHTML", "innerHTML")}} プロパティを使用してください。 ## 構文 ```js var content = element.outerHTML; element.outerHTML = htmlString; ``` ### 値 `outerHTML` の値を読み取ると、 `element` およびその子孫を HTML にシリアライズしたものを含む {{domxref("DOMString")}} が返されます。 `outerHTML` の値を設定すると、その要素とそのすべての子孫を、指定された `htmlString` を解釈して構築された新しい DOM ツリーで置き換えます。 ### 例外 - `SyntaxError` {{domxref("DOMException")}} - : `outerHTML` に有効ではない HTML の文字列を使用して設定しようとした場合に発生します。 - `NoModificationAllowedError` {{domxref("DOMException")}} - : `outerHTML` を {{domxref("Document")}} の直接の子である要素、たとえば {{domxref("Document.documentElement")}} に対して設定しようとした場合。 ## 例 要素の `outerHTML` プロパティの値を得る例を示します。 ### HTML ```html
Content
Further Elaborated
Content
Further Elaborated
この段落は元の div を置き換えたものです。
"; console.log(container.firstElementChild.nodeName); // "P" と出力 // #d の div 要素は文書ツリーの一部ではなくなり、 // 新たな段落に置き換えられました。 ``` ## メモ 要素が親要素を持たない場合、その `outerHTML` プロパティに値を設定してもその要素や子孫は変更されません。多くのブラウザーでは例外も発生します。以下に例を示します。 ```js var div = document.createElement("div"); div.outerHTML = "