CharacterData

CharacterDataは、TextやCommentのインターフェイスです。

Text

<p>ABC</p>としたときの、ABCの部分です。これはcreateTextNode()で作成できます。

var p = document.createElement( 'p' );
p.appendChild( document.createTextNode( 'ABC' ));

alert( p.data );            // undefined
alert( p.firstChild.data ); // ABC

テキストがマークアップを含むときには、それが解析されて返されます。

var p = document.createElement( 'p' );
p.appendChild( document.createTextNode( '<b>A</b>' ));

alert( p.innerHTML );       // &lt;b&gt;A&lt;/b&gt;
alert( p.firstChild.data ); // <b>A</b>

&nbsp;の指定

文字列として'&nbsp;'を指定するには、その文字をUnicodeのエスケープシーケンスを用いて'\u00A0'と記述します。How do I add a non-breaking whitespace in JavaScript without using innerHTML? - Stack Overflow

document.createTextNode( '\u00A0' ); // '&nbsp;'

document.createTextNode( '&nbsp;' ); // '&amp;nbsp;'
document.createTextNode( ' ' );      // ' '

さまざまな空白文字

Comment

HTMLとXMLで、<!-- -->で表されるコメントです。これは、createComment()メソッドで作成できます。

CommentNode = document.createComment( data )
document.createComment - Web API インターフェイス | MDN

また一部のブラウザでは、次のようなコンストラクタでも作成できます。

CommentNode = new Comment( data );
Comment() - Web API Interfaces | MDN
JavaScriptのドキュメントから検索