- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストのみの場合はinnerHTMLを使うべきか)
テキストのみの場合はinnerHTMLを使うべきか
このQ&Aのポイント
- テキストのみの場合、innerHTMLを使用するべきかどうかについて検討します。
- innerHTMLはIE, Firefox, Chorme, Safariなどのブラウザで対応していますが、innerTextやtextContentはブラウザによって対応が異なるため、適切な対応方法を選択する必要があります。
- <div></div>の中がテキストのみの場合、どちらを使用すべきかについての判断基準は存在しませんが、innerHTMLはタグが含まれる場合に問題が起きる可能性があるため、注意が必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
あけおめことよろ。 innerHTML をつかうと、こうぶんかいせきが はいるので おそくなります。(たぶん) もし、かきかえられた ようそのなかに、addEventListener なんかで、はりつけた いべんとがあったばあいは、どこかに のこっているかもしれないので、きけん。 innerText も、ようそのなかを てきすとのーどでかきかえてしまうようなものなので どうるい。 <div></div> もし うえのように ぶろっくようそのなかに なにもないのでなく <div> </div> の、ように なかに てきすとのようなものがあれば、 // node = div node.firstChild.nodeValue = 'hoge'; にする。
その他の回答 (1)
- babu_baboo
- ベストアンサー率51% (268/525)
回答No.2
「(他者からの)変更に(も)強いコードを、書く。」 これが(も)むずかしい! さんしょう するためには、ひょうか しなければ ならないのだから おなじだとおもう。(たぶん)
質問者
お礼
innerHTMLにしてあるところをnodeValueに換えてみようと思います。 ありがとうございました。
お礼
そうでした、明けましておめでとうございます。 >もし、かきかえられた ようそのなかに、addEventListener なんかで、 >はりつけた いべんとがあったばあいは、 >どこかに のこっているかもしれないので、きけん。 DOMを操作するようなものでinnerHTMLを使うとDOMの形が変わり影響がでやすい、ということでしょうか? ><div> </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>