35

タイトルはかなり明確です:スパンをテキストで埋めるためにinnerHTMLcreateTextNode(で使用される)の間に大きな違いはありますか?Append

4

3 に答える 3

40

もちろん。createTextNode文字列をエスケープしてそのまま表示しますが、innerHTMLHTMLのような文字列をDOMにレンダリングすることもできます。それが望ましくない場合(たとえば、リテラルを直接割り当てる場合など、テキストにエスケープされていないタグが含まれていないことが確実でない限り)、を使用できますtextContent(またはinnerTextIEの場合)。

それでも私はお勧めcreateTextNodeします。なぜなら、すべてのブラウザが癖なしにそれを等しくサポートしているからです。

于 2012-10-29T13:50:43.187 に答える
2

オンラインで調査を行ったところ、これが私が見つけたものです。これは高レベルでそれをカバーする必要があります:

  • エレム。createTextNode(テキスト)とelem。textContent = textはまったく同じことを行います(src:https ://javascript.info/task/createtextnode-vs-innerhtml )

  • textContentはノードに含まれる全文を返しますが、innerTextはノードに含まれる表示されているテキストのみを返します。(src:textContentとinnerTextの違い

于 2019-05-24T02:32:47.457 に答える
0

私の理解では、innerHTMLの特定の操作により、バインドされたすべてのイベントが削除されるため、createTextNodeを使用することをお勧めします。

于 2015-05-09T18:44:56.380 に答える