document.createTextNode(" ")
自動的にエスケープされるので "  ;"という文字が表示されてしまう。
こういう時はユニコードエスケープ形式を使えば良い。
document.createTextNode("\u00a0")
他の文字参照もこの方法でできるが、ユニコードエスケープ形式に置換しておかないといけない。
adding non-breaking spaces in createTextNode [Archive] - CodingForums.com の BrainJarさん参照