Element: outerHTML ããããã£
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
outerHTML 㯠Element DOM ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®å±æ§ã§ãè¦ç´ ã¨ãã®åå«ãå«ãé¨åã® HTML ãã·ãªã¢ã©ã¤ãºããããã®ãåå¾ãã¾ããè¨å®ãããã¨ã§ãæå®ãããæååãè§£éãããã¼ãã®è¦ç´ ã«ç½®ãæãããã¨ãã§ãã¾ãã
è¦ç´ ã®å
容ã®ã¿ã® HTML 表ç¾ãåå¾ããå ´åããè¦ç´ ã®å
容ãç½®ãæããå ´åã§ããã°ã代ããã« innerHTML ããããã£ã使ç¨ãã¦ãã ããã
å¤
outerHTML ã®å¤ãèªã¿åãã¨ã element ããã³ãã®åå«ã HTML ã«ã·ãªã¢ã©ã¤ãºãããã®ãå«ãæååãè¿ããã¾ãã outerHTML ã®å¤ãè¨å®ããã¨ããã®è¦ç´ ã¨ãã®ãã¹ã¦ã®åå«ããæå®ããã htmlString ãè§£éãã¦æ§ç¯ãããæ°ãã DOM ããªã¼ã§ç½®ãæãã¾ãã
ä¾å¤
SyntaxErrorDOMException-
outerHTMLã«æå¹ã§ã¯ãªã HTML ã®æååã使ç¨ãã¦è¨å®ãããã¨ããå ´åã«çºçãã¾ãã NoModificationAllowedErrorDOMException-
outerHTMLãDocumentã®ç´æ¥ã®åã§ããè¦ç´ ããã¨ãã°Document.documentElementã«å¯¾ãã¦è¨å®ãããã¨ããå ´åã
ä¾
>è¦ç´ ã® outerHTML ããããã£ããå¤ãåå¾
HTML
<div id="d">
<p>Content</p>
<p>Further Elaborated</p>
</div>
Javascript
const d = document.getElementById("d");
console.log(d.outerHTML);
// æåå '<div id="d"><p>Content</p><p>Further Elaborated</p></div>'
// ãã³ã³ã½ã¼ã«ã¦ã£ã³ãã¦ã«æ¸ãåºããã¾ãã
outerHTML ããããã£ã¸è¨ç½®ãããã¨ã§ãã¼ããç½®ãæã
HTML
<div id="container">
<div id="d">ãã㯠div ã§ãã</div>
</div>
Javascript
const container = document.getElementById("container");
const d = document.getElementById("d");
console.log(container.firstElementChild.nodeName); // "DIV" ã¨åºå
d.outerHTML = "<p>ãã®æ®µè½ã¯å
ã® div ãç½®ãæãããã®ã§ãã</p>";
console.log(container.firstElementChild.nodeName); // "P" ã¨åºå
// #d ã® div è¦ç´ ã¯ææ¸ããªã¼ã®ä¸é¨ã§ã¯ãªããªãã
// æ°ããªæ®µè½ã«ç½®ãæãããã¾ããã
ã¡ã¢
è¦ç´ ã親ãã¼ããæããªãå ´åããã® outerHTML ããããã£ã«å¤ãè¨å®ãã¦ããã®è¦ç´ ãåå«ã¯å¤æ´ããã¾ããã以ä¸ã«ä¾ã示ãã¾ãã
const div = document.createElement("div");
div.outerHTML = '<div class="test">test</div>';
console.log(div.outerHTML); // output: "<div></div>"
ã¾ããææ¸ã®ä¸ã§è¦ç´ ãç½®æãããå ´åãã outerHTML ããããã£ãè¨å®ããã夿°ã¯ãå¼ãç¶ããªãªã¸ãã«ã®è¦ç´ ã¸ã®åç
§ãä¿æãã¦ãã¾ãã
const p = document.querySelector("p");
console.log(p.nodeName); // shows: "P"
p.outerHTML = "<div>This div replaced a paragraph.</div>";
console.log(p.nodeName); // still "P";
è¿å¤ã«ã¯ HTML ã¨ã¹ã±ã¼ãããã屿§ãå ¥ãã¾ãã
const anc = document.createElement("a");
anc.href = "https://developer.mozilla.org?a=b&c=d";
console.log(anc.outerHTML); // output: "<a href='https://developer.mozilla.org?a=b&c=d'></a>"
仿§æ¸
| 仿§æ¸ |
|---|
| HTML > # dom-element-outerhtml > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- DOM ããªã¼ã XML æååã«ã·ãªã¢ã©ã¤ãº:
XMLSerializer - XML ã¾ã㯠HTML ã DOM ããªã¼ã«è§£é:
DOMParser HTMLElement.outerText