CharacterDataは、TextやCommentのインターフェイスです。
<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 ); // <b>A</b> alert( p.firstChild.data ); // <b>A</b>
文字列として' 'を指定するには、その文字をUnicodeのエスケープシーケンスを用いて'\u00A0'と記述します。How do I add a non-breaking whitespace in JavaScript without using innerHTML? - Stack Overflow
document.createTextNode( '\u00A0' ); // ' ' document.createTextNode( ' ' ); // '&nbsp;' document.createTextNode( ' ' ); // ' '
HTMLとXMLで、<!-- -->
で表されるコメントです。これは、createComment()メソッドで作成できます。
CommentNode = document.createComment( data )document.createComment - Web API インターフェイス | MDN
また一部のブラウザでは、次のようなコンストラクタでも作成できます。
CommentNode = new Comment( data );Comment() - Web API Interfaces | MDN