createTextNodeの挙動
document.createTextNodeは勝手にHTML文字をエスケープしてくれるらしい。
#まぁ考えてみればあたりまえ?
var div = document.createElement("DIV"); div.appendChild(document.createTextNode("<span>hoge</span>")); console.log(div.innerHTML);//<span>hoge</span> div = document.createElement("DIV"); div.innerHTML="<span>hoge</span>"; console.log(div.innerHTML);//<span>hoge</span>
当然ながらタグを有効にしたいときは、innerHTMLに突っ込まないとだめ。