javascriptでDOM要素を取得するときの挙動について
仕事でまたしてもjavascriptと格闘してました。
今回はjavascriptでDOM要素を取得した結果が思ったようにいかなかった。
例えば以下のようなソースの場合、
<script type="text"> function get_text(){ var txt = document.getElementByID("hoge").innerHTML; } </script> <div id="hoge">You&I</div> <input type="button" onclick="get_text();" />
変数txtにはどんな値が入るか。
答え:
You&I
そう。エスケープされた値が入るんです。
なぜ、エスケープされるかって?
それはinnerHTMLの挙動だかららしいです。
詳しくは以下を参照。
Javascript/HTML特殊文字のエスケープ - 俺の基地
では、どうすればよいか?
それは次回。