innerHTMLプロパティとnodeValueプロパティ、textContentプロパティ

JavaScriptで次のようなテキストノード(下の例では”日本”や”アメリカ”)を操作するにはinnerHTMLプロパティとnodeValueプロパティ及びtextContentプロパティがある
 <h4 id="head-1">日本</h4>
 <h4 id="head-2">アメリカ</h4>
innerHTMLプロパティのほうがnode.innerHTMLで簡単にアクセスできるが遅くなるらしい。
nodeValueプロパティのほうはnode.firstChild.nodeValueと少しややこしい書き方になるが早いらしい。 どちらも結果は同じになるがnodeValueプロパティのほうが確実である。
innerHTMLプロパティはIEのみがサポートしていて、textContentプロパティはW3C で標準化されたプロパティでIE以外がサポートしていた経緯があるが、IE10以降はtextContentプロパティもサポートされている。 textContentプロパティの書き方はnode.textContentと表現しておりinnerHTMLと似ている。

次のボタンをクリックするとテキストノードが表示される。innerHTML、nodeVale、textContentとも結果は同じ。

日本

アメリカ