文字列から直接DOMノードを構築できないみたい。なので一旦別のノードのinnerHTMLに文字列を代入してから目的のノードを取り出すことにした。 適当にdiv要素を作ってinnerHTMLに文字列を代入して、そのfirstChildを返す。 <html> <head> <script> function $(i){ return document.getElementById(i); } function String2DOM(s) { var n = document.createElement("div"); n.innerHTML = s; return n.firstChild; } function init() { var s = "<p>paragraph<p>"; var dn = String2DOM(s); $("container").appendChild(dn);