1. ホーム
  2. javascript

[解決済み] DOM ノードの文字列表現の取得

2022-09-18 21:35:26

質問

Javascriptを使用しています。ノード(要素または文書)のDOM表現を持っていて、その文字列表現を探しています。例:。

var el = document.createElement("p");
el.appendChild(document.createTextNode("Test"));

が得られるはずです。

get_string(el) == "<p>Test</p>";

何か単純なことを見逃しているような気がするのですが、IE、FF、Safari、Operaで動作するメソッドが見つかりません。したがって、outerHTMLは選択肢にありません。

どのように解決するのですか?

一時的な親ノードを作成し、そのinnerHTMLの内容を取得することができます。

var el = document.createElement("p");
el.appendChild(document.createTextNode("Test"));

var tmp = document.createElement("div");
tmp.appendChild(el);
console.log(tmp.innerHTML); // <p>Test</p>

EDITです。 outerHTMLについては下記の回答をご覧ください。el.outerHTMLがあれば大丈夫だと思います。