• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストのみの場合はinnerHTMLを使うべきか)

テキストのみの場合はinnerHTMLを使うべきか

このQ&Aのポイント
  • テキストのみの場合、innerHTMLを使用するべきかどうかについて検討します。
  • innerHTMLはIE, Firefox, Chorme, Safariなどのブラウザで対応していますが、innerTextやtextContentはブラウザによって対応が異なるため、適切な対応方法を選択する必要があります。
  • <div></div>の中がテキストのみの場合、どちらを使用すべきかについての判断基準は存在しませんが、innerHTMLはタグが含まれる場合に問題が起きる可能性があるため、注意が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

あけおめことよろ。 innerHTML をつかうと、こうぶんかいせきが はいるので おそくなります。(たぶん) もし、かきかえられた ようそのなかに、addEventListener なんかで、はりつけた いべんとがあったばあいは、どこかに のこっているかもしれないので、きけん。 innerText も、ようそのなかを てきすとのーどでかきかえてしまうようなものなので どうるい。 <div></div> もし うえのように ぶろっくようそのなかに なにもないのでなく <div>&nbsp;</div> の、ように なかに てきすとのようなものがあれば、 // node = div node.firstChild.nodeValue = 'hoge'; にする。

kiseki777
質問者

お礼

そうでした、明けましておめでとうございます。 >もし、かきかえられた ようそのなかに、addEventListener なんかで、 >はりつけた いべんとがあったばあいは、 >どこかに のこっているかもしれないので、きけん。 DOMを操作するようなものでinnerHTMLを使うとDOMの形が変わり影響がでやすい、ということでしょうか? ><div>&nbsp;</div> >の、ように なかに てきすとのようなものがあれば、 >// node = div >node.firstChild.nodeValue = 'hoge'; >にする。 テキストを書き換える場合は、innerHTMLとinnerTextを使うよりもnodeValueで入れ込んだほうが早いし安全、ということですね! 書き換えることなく下記のように参照するだけの場合でもそれは同じことでしょうか。 <div id="d">テキストABC</div> <script> (function(){if(document.getElementById("d").innerHTML == "テキストABC"){alert("はい");}})() </script>

その他の回答 (1)

回答No.2

「(他者からの)変更に(も)強いコードを、書く。」 これが(も)むずかしい! さんしょう するためには、ひょうか しなければ ならないのだから おなじだとおもう。(たぶん)

kiseki777
質問者

お礼

innerHTMLにしてあるところをnodeValueに換えてみようと思います。 ありがとうございました。

関連するQ&A

専門家に質問してみよう